2013-11-08 16:43:38 +0000 2013-11-08 16:43:38 +0000
7
7

Excel Formuła Aby uzyskać pierwszą niezerową wartość w wierszu i zwrócić nagłówek kolumny

Próbuję znaleźć formułę, w której mogę spojrzeć na zakres kolumn w wierszu i zwrócić nagłówek kolumny w tym wierszu, w którym występuje pierwsza niezerowa wartość, przesuwając się od lewej do prawej.

Poniżej znajduje się zrzut ekranu z moimi danymi: 9 = 10/31/2011 10 = 11/30/2011 11 = 11/30/2011 12 = 12/31/2011

Wyniki, które chciałbym zobaczyć w kolumnie H byłyby następujące, dla każdego wiersza:

Bawiłem się niektórymi formułami tablicowymi i przeszukałem funkcje, ale nie znalazłem jeszcze żadnego sukcesu. Mam nadzieję, że inny czarodziej Excela może mieć jakiś pomysł.

Chcę uniknąć pisania UDF na razie, jeśli mogę.

Odpowiedzi (4)

12
12
12
2013-11-08 17:31:38 +0000

Jasne, spróbuj tego

=INDEX(J$8:N$8,MATCH(TRUE,INDEX(J9:N9<>0,),0))

3
3
3
2013-11-08 17:58:40 +0000

Zaakceptowałem powyższą odpowiedź, ale chciałem pokazać inny sposób, który znalazłem, aby to zrobić, na wypadek, gdyby komuś to pomogło.

=OFFSET($I$8,0,MATCH(0,J10:N10,1)+1)

Możesz również napisać to jako:

=INDEX(J$8:N$8,MATCH(0,J9:N9,1)+1)
0
0
0
2015-06-16 09:42:51 +0000

Cóż, jeśli wymaganiem jest tylko umieszczenie wartości J8 : N8 w kolumnie H, to Kopiuj i transponuj (opcja Wklej) powinna rozwiązać problem.

-1
-1
-1
2015-04-21 13:03:42 +0000

Nie mogłem sprawić, żeby powyższe zadziałało, ponieważ formuła zwróciłaby największą kolumnę (liczbę), która była niezerowa. Użyłem =MATCH(SMALL(J10:N10,1),J10:N10,0). Funkcja small ignoruje wartości zerowe.