Jak używać = WYSZUKAJ.PIONOWO w tych okolicznościach?

0

Wiem więc, jak używać = WYSZUKAJ.PIONOWO, gdy szukasz pojedynczej wartości w komórce, ale nie jestem pewien, jak to zrobić, gdy mam zakres, np. powiedzmy, że wartość komórek to 1-5, następne to 5-10.

wprowadź opis zdjęcia tutaj

To jest tabela, którą próbuję wyszukać. Normalna formuła nie działa dla mnie, po prostu pojawia się błąd # N / A. Czy używam niewłaściwej funkcji wyszukiwania?

Matt327
źródło
Jeśli wiesz, że będziesz mieć tylko liczby całkowite, możesz po prostu sprawić, by twoja tabela odnośników miała osobne wiersze dla 1, 2, 3, 4, 5 itd. . . Twój obecny przypadek użycia jest na tyle mały, że nie byłoby to zbyt trudne. . . setki zapisów może to utrudnić
ernie
@ernie Wiem, ale potrzebuję, aby tak było.
Matt327,
Możesz podzielić swój zakres na min / maks, a następnie użyć kolumny min, aby dopasować. . . domyślnie WYSZUKAJ.PIONOWO wyszuka dokładne dopasowanie lub „ następną największą wartość, która jest mniejsza niż wartość_wyszukania ”. . . jeśli potrzebujesz czegoś innego, musisz wyjaśnić swoje pytanie.
ernie
@ernie, jak powiedziałem, nie może ponownie sformatować tabeli odnośników. Czy zatem używam niewłaściwej funkcji?
Matt327,
Jeśli nie możesz w ogóle zmienić tabeli odnośników, czy możesz użyć niektórych komórek pod kontrolą, aby odwoływać się do komórek „tylko do odczytu”, a następnie zmodyfikować nowe komórki, aby móc wykonać vlookup?
Kenneth L

Odpowiedzi:

1

Zakładając, że twoja wartość wyszukiwania znajduje się w I2:

=VLOOKUP(IF(I2<=5, "1-5", IF(I2<=10, "6-10", IF(I2<=20, "'11-20", "21 or more"))),B2:C5,2,TRUE)

Tyle że w moim Excelu nie traktuje tego 11-20 jako tekstu i nazywa go „datą tekstową z dwucyfrowym rokiem”. Z tego powodu formuła nie działa dla 11-20. Opuszczę 90% rozwiązanie na wypadek, gdyby ktoś znał rozwiązanie problemu „tekst to 2-cyfrowy rok”.

Mccalex
źródło
Zauważ, że ta formuła działa dla 11-20, jeśli zrobisz Dane-> Tekst do kolumn i zmusisz kolumnę B jako naprawdę prosty tekst. Nie ma sposobu, aby dowiedzieć się, czy zrzut ekranu OP jest naprawdę tekstowy, czy nie.
Madball73
hę próbowałem tego bez radości. jutro
spróbuje jeszcze raz
0

Działa to, jeśli szukana liczba znajduje się w komórce, C1a tabela zaczyna się odA1

=VLOOKUP(IF(C1>20,"21 or more",IF(C1>10,"11-20",IF(C1>5,"6-10",IF(C1>0,"1-5",0)))),$A$1:$B$4,2,0)

Zagnieżdżasz ifs od największej do najmniejszej, aby złapać najmniejszą liczbę testów, a następnie przypisz tekst do vlookup.

Raystafarian
źródło
0

Jeśli naprawdę musisz to zrobić, dodam kolumnę dla min, na podstawie zakresów, np .:

=IF(SEARCH(" ", A3), LEFT(A3,SEARCH(" ",A3)-1), LEFT(A3,SEARCH("-",A3)-1))

Następnie możesz użyć podglądu opartego na nowej kolumnie minimalnej, ponieważ WYSZUKAJ.PIONOWO domyślnie wyszuka dokładne dopasowanie lub „następną największą wartość, która jest mniejsza niż wartość lookup_value”

Inne odpowiedzi z wieloma zagnieżdżonymi IF () również spełniają twoje kryteria, ale jeśli zadaniem jest naprawdę wymyślić coś takiego, to uczy kilku naprawdę złych pomysłów.

Korzystanie z szeregu zagnieżdżonych instrukcji IF (), a następnie przekazywanie ich do funkcji WYSZUKAJ.PIONOWO () jest skomplikowane i absurdalne. Zakodowałeś granice w formule, a funkcja WYSZUKAJ.PIONOWO () prawie nic nie dodaje (podstawienie wartości może nastąpić bezpośrednio na poziomie IF ()).

ernie
źródło