Formuła Excela, aby uzyskać pierwszą niezerową wartość w wierszu i zwrócić nagłówek kolumny

7

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 zrzut ekranu moich danych: wprowadź opis zdjęcia tutaj

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

9 = 10/31/2011
10 = 11/30/2011
11 = 11/30/2011
12 = 12/31/2011

Bawiłem się pewnymi formułami tablicowymi i przeszukiwałem funkcje, ale nie znalazłem jeszcze żadnego sukcesu. Mam nadzieję, że inny czarodziej Excel może mieć pomysł.

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

Scott Holtzman
źródło

Odpowiedzi:

12

Jasne, spróbuj tego

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

Raystafarian
źródło
Dziękuję za to. Znalazłem inny sposób na zrobienie tego, ale twój jest bardziej elegancki i przejrzysty :)
Scott Holtzman,
Czy INDEXistnieje druga możliwość uniknięcia wpisywania jako formuły tablicowej?
Felipe
Pierwszy argument do INDEKSU: J9:N9<>0dwa pytania: 1) Który z formularzy INDEKSU () jest używany, „Formularz tablicy” czy „Formularz referencyjny”? 2) Jakie jest słowo Excel dla tej koncepcji porównywania zakresu (?), Tj. J9: N9, z pojedynczą wartością (?),
Taką
@TheRedPea Nie jestem pewien, jak to się nazywa, ale ogólnie jest to formuła tablicowa . J8:N8Odnosi się do tytułów, gdzie następnego indeksu poszukujących wartości niezerowych, czy to pomaga.
Raystafarian
3

Przyjąłem powyższą odpowiedź, ale chciałem pokazać inny sposób, w jaki to zrobiłem, na wypadek, gdyby komukolwiek 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)
Scott Holtzman
źródło
0

Dobrze ! jeśli wymaganiem jest po prostu umieszczenie wartości J8: N8 w kolumnie H, wówczas Kopiuj i transponuj (Opcja Wklej) powinno rozwiązać problem.

Sanjeev Kathuria
źródło
-1

Nie można uruchomić powyższego, ponieważ formuła zwróci największą niezerową kolumnę (liczbę). Użyłem = MATCH (SMALL (J10: N10,1), J10: N10,0). Małe ignoruje wartości zerowe.

Darren Hall
źródło