Потрібно витягти декілька збігів зі списку значень


0

Я намагаюся витягнути дані з робочого аркуша за допомогою формули масиву, але він поверне лише одне (перше, яке знайде) значення. Я використовую формулу:

=INDEX($C$2:$C$8, SMALL(IF($B12=$B$2:$B$8, ROW($B$2:$B$8)-MIN(ROW($B$2:$B$8))+1, ""), 1)) знайдені тут

Коли я слідую за прикладом, я не отримую такого ж результату, як той, хто опублікував відповідь. Чи може формула була "жировою пальцем"?


1
@Dave - це ідіома (?) Для бухгалтерів, які помилково вводять номери на калькуляторі, коли ще використовувались стрічки і "10-ключ" - це навик.
— Райстафаріан

Відповіді:


0

Я використовую наступну формулу для повернення декількох значень, що відповідають одним і тим же критеріям.

{=IFERROR(INDEX([Return Value Range],SMALL(IF([Criteria Range]=[Criteria],ROW([Criteria Range])),ROW(1:1))),"")}

Коли ви вводите його, не включайте {} і пам’ятайте, що формули масиву потрібно вводити, натискаючи Ctrl + Shift + Enter, а не просто Enter. Якщо натиснути просто Enter, це поверне лише перший результат.


Це не працює для мене зі зразками даних.
— Френк Штайнерт

Ви відображаєте результати вертикально чи горизонтально? Якщо ви їх відображаєте горизонтально, вам потрібно буде вручну збільшити ROW (1: 1). У другому стовпці повинно бути ROW (2: 2), а в третьому ROW (3: 3) тощо.
— Fercstar

Так, я показую їх горизонтально. Чи є кращий спосіб збільшити його замість вручну? Схоже, коли я змінюю один рядок, а потім наступний, вони всі змінюються. Дякую за твою допомогу!
— Френк Штайнерт

Здається, не існує способу автоматичного збільшення ROW (1: 1 :), якщо результати горизонтальні, оскільки рядок не змінюється при перетягуванні формули по горизонталі. Якщо дані можна відобразити вертикально, вони автоматично збільшать ROW () при перетягуванні формули вниз.
— Fercstar
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.