Mam zakres (A3: A10) zawierający nazwy i chciałbym sprawdzić, czy zawartość innej komórki (D1) pasuje do jednej z nazw na mojej liście.
Nazwałem zakres A3: A10 „some_names” i chciałbym formułę programu Excel, która da mi wartość True / False lub 1/0 w zależności od zawartości.
microsoft-excel
worksheet-function
joseph.hainline
źródło
źródło
some_names
zawiera 2 kolumny, a także zamiast D1 mam D1: E1?Moja preferowana odpowiedź (zmodyfikowana przez Iana) to:
która zwraca PRAWDA, jeśli D1 zostanie znalezione w zakresie jakieś_nazwy przynajmniej raz, lub FALSE w przeciwnym razie.
(COUNTIF zwraca liczbę całkowitą, ile razy kryterium zostało znalezione w zakresie)
źródło
Wiem, że OP wyraźnie stwierdził, że lista pochodzi z szeregu komórek, ale inni mogą się na to natknąć, szukając określonego zakresu wartości.
Za pomocą funkcji można także wyszukać określone wartości zamiast zakresu
MATCH
. To da ci numer, do którego pasuje (w tym przypadku drugie miejsce, więc 2). Zwróci # N / A, jeśli nie ma dopasowania.Możesz również zastąpić pierwsze cztery komórką. Umieść 4 w komórce A1 i wpisz ją w dowolnej innej komórce.
źródło
=OR(4={2,4,6,8})
Jeśli chcesz zamienić licznik w jakieś inne wyjście (jak boolean), możesz również:
Cieszyć się!
źródło
Dla odmiany możesz użyć MATCH, np
=ISNUMBER(MATCH(D1,A3:A10,0))
źródło
istnieje sprytna sztuczka zwracająca wartość logiczną, na wypadek gdyby
some_names
można było wyraźnie określić zakres, na przykład"purple","red","blue","green","orange"
:Uwaga: NIE jest to formuła tablicowa
źródło
Można zagnieździć
--([range]=[cell])
w sposóbIF
,SUMIFS
alboCOUNTIFS
argumentem. Na przykładIF(--($N$2:$N$23=D2),"in the list!","not in the list")
. Wierzę, że może to bardziej efektywnie wykorzystywać pamięć.Alternatywnie możesz owinąć
ISERROR
wokółVLOOKUP
, wszystkie owinięte wokółIF
instrukcji. PolubIF( ISERROR ( VLOOKUP() ) , "not in the list" , "in the list!" )
.źródło
Wersja formuły tablicowej (wprowadź za pomocą Ctrl + Shift + Enter):
źródło
W takich sytuacjach chcę być tylko powiadamiany o możliwych błędach, więc rozwiązałbym tę sytuację w ten sposób ...
Następnie skopiowałbym tę formułę z
E1
doE100
. Jeśli wartości wD
kolumnie nie ma na liście, otrzymam komunikat BRAK, ale jeśli wartość istnieje, otrzymam pustą komórkę. Dzięki temu brakujące wartości znacznie się wyróżniają.źródło