Формула Excel для отримання першого і останнього непустого значення в рядку і заголовку стовпця


3

Скажімо, у мене є електронна таблиця Excel, яка збирає голоси в деяких опитуваннях протягом певного періоду часу згідно з прикладом нижче.

Як мені знайти хв і макс цінності, які люди проголосували в певний день ( заголовка стовпця )?

         A        B   C   D   E   F   G    H     I   
   --------------------------------------------------
1  | Answers:   | 0 | 1 | 2 | 3 | 4 | 5 | Min | Max |
   --------------------------------------------------
2  | 2014-12-01 |   | 2 | 4 | 1 |   |   |  1  |  3  |
3  | 2015-01-01 |   |   | 1 | 4 | 2 |   |  2  |  4  |
                          ^       ^        ^-----^- Min: 2, Max: 4
                          |       |        
                          |       |_ 2 people voted "4"
                          |
                          |_ 1 person voted "2" on 2015-01-01

Відповіді:


3

Щоб знайти хв Значення, яке люди проголосували в опитуванні (заголовок першої непустої комірки), я використав наступну формулу (в комірці) H2 ):

=INDEX(B$1:G$1, MATCH(TRUE, INDEX(B2:G2<>"", 0), 0))

Щоб знайти макс значення (в комірці I2 ):

=LOOKUP(2, 1/(B2:G2<>""),B$1:G$1)

Під капотом

Функція пошуку має такий підпис: LOOKUP( value, lookup_range, [result_range] )

Що таке друга формула:

  1. Розділити 1 масивом логічних (true / false) значень (B2:G2<>""); це 1/(B2:G2<>"") частина.
  2. Вище покладається на той факт, що Excel перетворює булев TRUE до 1 і FALSE до 0Таким чином, результатом цього кроку є список:
    • 1 's, де CELL_VALUE<>"" повернувся TRUE, і 1/TRUE => 1 )
    • і #DIV/0! помилки, де CELL_VALUE<>"" повернувся FALSE і 1/FALSE => 1/0 => #DIV/0!
  3. Тепер, тому що я використав 2 (ви можете використовувати число, починаючи з 1) як значення пошуку, формула відповідає останньому числовому значенню в діапазоні (як ви пам'ятаєте, діапазон - це щось подібне [DIV/0!, 1, 1, 1, DIV/0!, DIV/0!], тому пошук буде відповідати четверте пункту). До речі, зауважте, що якщо формула не відповідає нічого, ви отримаєте помилку # N / A.
  4. На цьому етапі ми знаємо, у якому стовпці ми зацікавлені ( четверте в діапазоні). Отже, останній відсутній біт говорить Excel, що діапазон результатів є першим рядком таблиці: B$1:G$1, і саме там Excel шукатиме сказане четверте пункту.

Докладніше про формули пошуку у Excel можна дізнатися тут: http://blogs.office.com/2012/04/26/using-multiple-criteria-in-excel-lookup-formulas/

Сподіваюся, що це допомагає!

Ян


Ніцца. Додавання прикладу того, як його можна використовувати, є великим. Я бачу, ви вже отримали деякі upvotes (я додаю свої власні). Дві думки: 1) Вам не потрібна відмова, тільки відповідь. 2) Це не очевидно, чому або як працює формула max. Щоб зробити відповідь ще кращою (особливо, коли ви використовуєте новий підхід), додайте коротке пояснення того, як вона працює. 3) Я не міг зрозуміти, як захопити пряме посилання на коментар, поки не побачу, як ви це зробили. Ти навчаєш мені всілякі гарні речі.
fixer1234

Ти правий. Біт формули LOOKUP не був очевидний, і я відредагував свою відповідь, щоб краще пояснити її. Сподіваюся, що хтось вважає це корисним :)
Jan Molak
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.