Excel에서 셀이 값 목록 (셀 범위)에 있는지 확인하는 방법


88

이름이 포함 된 범위 (A3 : A10)가 있으며 다른 셀 (D1)의 내용이 내 목록의 이름 중 하나와 일치하는지 확인하고 싶습니다.

범위 이름을 A3 : A10 'some_names'로 지정했으며 내용에 따라 True / False 또는 1/0을 제공하는 Excel 공식을 원합니다.

답변:


92

= COUNTIF (일부 _ 이름, D1)

작동해야합니다 (이름이있는 경우 1-둘 이상의 인스턴스 인 경우 둘 이상).


수식 some_names에 2 개의 열이 있고 D1 대신 D1 : E1이 있는 경우 작동하도록 수식을 수정하려면 어떻게 해야합니까?
user1993

66

내가 선호하는 대답 (Ian에서 수정)은 다음과 같습니다.

=COUNTIF(some_names,D1)>0

D1이 some_names 범위에서 한 번 이상 발견되면 TRUE를 리턴하고 그렇지 않으면 FALSE를 리턴합니다.

(COUNTIF는 범위에서 기준을 몇 번 찾은 정수를 리턴합니다)


26

OP는 목록이 셀 범위에서 나온 것이라고 구체적으로 언급했지만 특정 범위의 값을 찾는 동안 다른 사람들 이이 문제를 해결할 수 있음을 알고 있습니다.

MATCH함수를 사용하여 범위가 아닌 특정 값을 찾아 볼 수도 있습니다. 이것은 당신에게 이것이 일치하는 숫자를 줄 것입니다 (이 경우 두 번째 자리이므로 2). 일치하는 항목이 없으면 # N / A를 반환합니다.

=MATCH(4,{2,4,6,8},0)

처음 네 개를 셀로 바꿀 수도 있습니다. A1 셀에 4를 넣고 다른 셀에 이것을 입력하십시오.

=MATCH(A1,{2,4,6,8},0)

1
아주 좋아요 당신의 가치가 숫자가 아닌 경우 "인용 부호"를 추가하는 것을 잊지 마십시오 (두 사람이 그것을 분류하려고 시도했습니다).
dav

1
슬프게도 조건부 서식에서는 사용할 수 없습니다 :(
StarWeaver

물론 넌 할 수있어. Excel 2007 이상에서는 IFERROR 기능을 사용할 수 있습니다. = IFERROR (MATCH (A1, {2,4,6,8}, 0), 0) 그런 다음 해당 셀이 = 0인지 또는 0보다 큰지에 대한 조건부 서식을 지정할 수 있습니다.
RPh_Coder

6
=OR(4={2,4,6,8})
Slai

이 답변은 솔루션이 # N / A를 반환한다는 것이 분명합니다. 그러나 도움이되지 않는 것 같습니다 : if 절에서 # N / A를 사용할 수 없으므로 IF (MATCH (4 {2,3}, 0), "yay", "boo")라고 말할 수 없습니다 ... 답은 # N / A가 아니라 "boo"
GreenAsJade

18

countif를 부울과 같은 다른 출력으로 바꾸려면 다음을 수행하십시오.

= IF (COUNTIF (일부 _ 이름, D1)> 0, 참, 거짓)

즐겨!


3
TRUE와 FALSE는 대체해야 할 사항을 나타냅니다
Darcys22


4

다음과 같이 범위를 some_names명시 적으로 지정할 수있는 경우 부울을 반환하는 멋진 트릭 이 있습니다 "purple","red","blue","green","orange".

=OR("Red"={"purple","red","blue","green","orange"})

이것은 배열 수식이 아닙니다.


사실, 배열 수식. 배열이 아닌 것은 수식 입력 ;-)
robinCTS

2

당신은 둥지 수 --([range]=[cell])에서 IF, SUMIFS또는 COUNTIFS인수. 예를 들면 다음과 같습니다 IF(--($N$2:$N$23=D2),"in the list!","not in the list"). 이것이 메모리를보다 효율적으로 사용할 수 있다고 생각합니다.

다른 방법으로, 당신은 ISERROR주위를 감싸고 VLOOKUP모든 IF문장을 감쌀 수 있습니다 . 처럼 IF( ISERROR ( VLOOKUP() ) , "not in the list" , "in the list!" ).


0

배열 수식 버전 (Ctrl + Shift + Enter를 사용하여 입력) :

=OR(A3:A10=D1)

작동합니다. 나는 그것을 같이해야 ... downvoter가 배열 수식을 입력하는 방법을 알고하지 않았기 때문에 그것은 downvote 거 같아요 {= OR (R34 : R36 = T34)} 당신이 corretly를 입력 한 경우는, 입력있어 후
GreenAsJade

-1

이와 같은 상황에서는 가능한 오류에 대해서만 경고를 받고 싶습니다. 그래서 상황을 이런 식으로 해결할 것입니다 ...

=if(countif(some_names,D1)>0,"","MISSING")

그런 다음이 수식을에서 (으) E1로 복사 합니다 E100. D열의 값 이 목록에 없으면 MISSING 메시지가 표시되지만 값이 있으면 빈 셀이 표시됩니다. 따라서 결 측값이 훨씬 더 두드러집니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.