Excel znajduje wiadro bez zagnieżdżonych IF


0

Muszę oddzielić moje dane w kategorii, na przykład:

Category    Minimum    Maximum
   A         -100        -20
   B         -20          0
   C           0         +20
   D         +20         +100

Jeśli więc jeden punkt danych ma wartość -50, należy do kategorii A.

Jednym z rozwiązań jest użycie zagnieżdżonych IF:

=IF(A1<-20,"A",IF(A1<0,"B",IF(A1<20,"C","D")))

Ale kiedy liczba kategorii wzrasta, staje się dość chaotyczna. Czy jest lepszy sposób na osiągnięcie tego samego?

Odpowiedzi:


1

Zakładając, że masz tabelę z kategoriami w Y2: Y10 i minimum w Z2: Z10 (z 20 nie +20 i podobnie dla wszystkich liczb dodatnich), możesz użyć formuły WYSZUKAJ

=LOOKUP(A1,Y$2:Y$10,Z$2:Z$10)

Zakłada się, że w zakresach nie ma luk, tzn. Zakłada się, że maksimum dla każdej kategorii jest natychmiastowe w następnym minimum


Odwróciłeś 2 zakresy w swojej formule, powinno być =LOOKUP(A1,Z2:Z10,Y2,Y10) - inaczej działa dobrze, dzięki.
assylias

Tak, masz rację, przepraszam.
barry houdini

0

Innym rozwiązaniem może być użycie nazwanych zakresów.

Zmodyfikowałbym twój przykład do tego:

Category    Minimum    Maximum
Cat_A         -100        -20
Cat_B         -20          0
Cat_C           0         +20
Cat_D         +20         +100

Następnie zaznacz dane z Cat_A na +100 i użyj Make from selection (Na Formuła Zakładka, sekcja Zdefiniowane nazwy ) - posługiwać się zrobić z lewej kolumny .

Otrzymasz 4 nazwane zakresy Cat_A, Cat_B, Cat_C i Cat_D, których możesz użyć w skoroszycie, np. Formatowanie warunkowe, wyłączanie Min(Cat_A) i Max(Cat_A) jako ograniczenia.

Jednak to rozwiązanie jest bardziej rozszerzeniem do rozwiązania barry houdini.


0

Używam tego triku do równego zbierania danych. Załóżmy, że masz dane A1:A100 zasięg. Umieść tę formułę w B1:

=MAX(ROUNDUP(PERCENTRANK($A$1:$A$100,A1) *4,0),1)

Wypełnij formułę w całej kolumnie B i gotowe. Formuła dzieli zakres na 4 równe wiadra i zwraca numer wiadra, do którego wpada komórka A1. Pierwsze wiadro zawiera najniższe 25% wartości.

Dostosuj liczbę wiader zgodnie z życzeniem:

=MAX(ROUNDUP(PERCENTRANK([Range],[OneCellOfTheRange]) *[NumberOfBuckets],0),1)

Przewaga
Zaletą tego rozwiązania jest to, że nie musisz się martwić o min i max każdego wiadra. Parametry min i max będą tajemniczy dostosuj się, zachowując równą liczbę obserwacji w każdym wiadrze.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.