Нахождение n-го совпадения в списке в Excel - PullRequest
0 голосов
/ 30 мая 2019

У меня есть таблица в Excel из A1: A5

a  
a  
b  
a  
b

Я хочу найти строку n-го вхождения значения 'a', используя функции Excel, а не VBA

  • Если я введу 1 в эту функцию, я хочу получить 1.

  • Если я введу 2 в эту функцию, я хочу получить 2.

  • Если я введу 3 в эту функцию, я хочу получить 4

Решение, которое работает, это добавить следующую формулу =COUNTIF($A5:A5,"a") в B1, а затем перетащите его вниз до B5.

Затем я могу использовать =MATCH(C1,B1:B5,0), где C1 содержит переменную n.

Но есть ли более аккуратный способ без добавления дополнительных столбцов?

Ответы [ 2 ]

2 голосов
/ 30 мая 2019

это должно работать ФОРМУЛА Массива: CTRL + SHIFT + ENTER

=SMALL(IF(C1=$A$1:$A$5,ROW($A$1:$A$5)),$C$2)

enter image description here

2 голосов
/ 30 мая 2019
=AGGREGATE(15,6,1/(myMatch=myRange)*ROW(myRange),Occurrence)

Часть формулы 1/(..) преобразует несоответствия в DIV/0! ошибки, которые функция AGGREGATE может игнорировать.Таким образом, наименьшее значение будет первым совпадающим значением;и т. д.

enter image description here

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