Индекс совпадения по первому ненулевому результату - PullRequest
0 голосов
/ 03 апреля 2020

Попытка выполнить поиск по индексу / совпадению, чтобы найти первый ненулевой результат среди множества совпадений. Не уверен, как именно это сделать. Пример данных ниже.

Foo 1
bar 0
bar 2

Хотите сделать следующее:

=INDEX(B:B,MATCH("Foo",A:A,0))
=INDEX(B:B,MATCH("bar",B:B,0))

Хотите, чтобы приведенные выше результаты возвращали 1 и 2, но, очевидно, на основании приведенной выше таблицы получим 1 и 0 . Как я могу исключить 0-значения из совпадения?

Ответы [ 2 ]

1 голос
/ 03 апреля 2020

try:

=FILTER(B:B, B:B<>0)

, если этого недостаточно, вы можете сделать:

=INDEX(SORTN(FILTER(A:B, B:B<>0), 9^9, 2, 1, 0),,2)

, если даже этого недостаточно, попробуйте:

=INDEX(SORT(SORTN(FILTER({A:B, ROW(A:A)}, B:B<>0), 9^9, 2, 1, 0), 3, 1),,2)
0 голосов
/ 03 апреля 2020

Фильтр и сортировка - это путь к go, но если вы хотите сделать это по classi c index / match, вам понадобится

=index(B:B,match(1,(A:A="Bar")*(B:B<>0),0))

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...