Jak rozpoznać kolumnę, w której wartość spada poniżej 0


0

Próbuję znaleźć formułę identyfikującą, w której kolumnie wartość spada poniżej 0.

Mam tysiące wierszy i dziesiątki kolumn, więc zrobienie tego ręcznie nie jest opcją

Więc jeśli moje kolumny i wartości są następujące:

    A   B   C   D
1   Jul Aug Sep Oct
2   25  10  5   -2
3   10  2   -6  -10

Tak więc w wierszu 2 chciałbym zwrócić wynik „Oct” (lub 4 jako czwarta kolumna), ponieważ w tym miesiącu wartość spada poniżej 0. W wierszu 3 chciałbym zwrócić wartość „Sep” (lub 3 jako trzecia kolumna).

Jakieś pomysły?


Gdzie zwracasz wynik?
Raystafarian

W tym prostym przykładzie może to być kolumna E, wiersze 2 i 3 (gdzie wiersz 1 jest nagłówkiem kolumny)
Dave Barnett

Odpowiedzi:


1

Prawdopodobnie nieco łatwiej jest użyć INDEX / MATCH, np. Tej formuły tablicowej w AV10

=INDEX(AW$1:BM$1,MATCH(TRUE,AW10:BM10<0,0))

potwierdzone za pomocą CTRL+ SHIFT+ENTER

lub jeśli wolisz unikać CSE, dodaj następną funkcję INDEKSU, a formułę można wpisać „normalnie”

=INDEX(AW$1:BM$1,MATCH(TRUE,INDEX(AW10:BM10<0,0),0))

Jeśli nie ma liczb <0, to zwróci błąd # Nie dotyczy ...... lub możesz użyć funkcji JEŻELI, aby zastąpić tekstem, np.

=IFERROR(INDEX(AW$1:BM$1,MATCH(TRUE,INDEX(AW10:BM10<0,0),0)),"No negative numbers")


Wielkie dzięki! działało idealnie! jesteś gwiazdą!
Dave Barnett

0

Możesz to zrobić za pomocą formuły tablicowej. W wierszu 2 wybierz komórkę, w której chcesz formułę, wklej następujące elementy na pasku formuły i naciśnij Ctrl+ Shift+ Enter.

=INDEX($A$1:$D$1,MIN(IF(A2:D2<0,COLUMN(A2:D2))))

Dla odniesienia A1:D1jest to zakres nagłówków kolumn (miesiące) i A2:D2są wartościami w wierszu. Ta formuła szuka wartości mniejszych niż 0, a następnie przyjmuje tę o najmniejszym numerze kolumny. Następnie zwraca nagłówek miesiąca w tym numerze kolumny.

Ten wzór można wypełnić do wszystkich wierszy.

EDYCJA:
Jeśli twoje dane nie zaczynają się w kolumnie A, będziesz musiał dokonać niewielkiej korekty formuły, aby działała. W formule wszystko pozostaje takie samo, z wyjątkiem tego, że pierwszy argument INDEXfunkcji musi zostać rozszerzony na kolumnę A. Na przykład, jeśli dane zaczynają się w kolumnie C, wówczas zamiast tego użyłbyś następującej formuły (wprowadzonej jako formuła tablicowa).

=INDEX($A$1:$F$1,MIN(IF(C2:F2<0,COLUMN(C2:F2))))

Powodem tego jest to, że INDEXdrugi argument funkcji wskazuje pozycję w tablicy, niekoniecznie numer kolumny. To rozróżnienie jest zatarte, jeśli po prostu rozszerzysz tablicę aż do kolumny A (tj. Pozycja w tablicy będzie równa numerowi kolumny).


Cześć dzięki za to ... jednak nie całkiem działa. Wprowadziłem formułę = INDEKS (AW $ 1: BM $ 1, MIN (JEŻELI (AW10: BM10 <0, KOLUMNA (AW10: BM10)))) w komórce AV10, ponieważ moje dane testowe mieszczą się w zakresie AW10: BM10 .. ... tytuły znajdują się w wierszu 1. Pierwszą kolumną, w której dane spadają poniżej 0, jest BM. Po wprowadzeniu powyższej formuły zwraca błąd # WARTOŚĆ! .... jakieś pomysły? Jeszcze raz dziękuję
Dave Barnett

Przepraszam, że wróciłem, zanim skończyłem odpowiadać: - /
Dave Barnett

Ach ok, problem polega na tym, że twoje dane nie zaczynają się w kolumnie A, jak pokazał twój przykład. Spróbuj to zamiast: =INDEX(A$1:BM$1,MIN(IF(AW10:BM10<0,COLUMN(AW10:BM10)))).
Excellll,
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.