У меня есть лист со следующими данными:

  A         B
1 Raisa     A
2 Mellissa  A
3 Emma      A
4 Slyvia    B
5 Salina    C
6 Beula     A
7 Apolonia  F

И я хотел бы перечислить всех людей с А, как это:

Raisa
Mellissa
Emma
Beula

В настоящее время я использую следующую формулу:

=INDEX(A1:A7;MATCH("A";B1:B7;0))

Который имеет выход

Raisa

Как изменить формулу, чтобы в каждой из следующих ячеек отображалось «следующее совпадение»?

3 ответа3

5

Вы можете использовать эту формулу в D2

=IFERROR(INDEX(A$1:A$7;SMALL(IF(B$1:B$7="A";ROW(B$1:B$7)-ROW(B$1)+1);ROWS(D$2:D2)));"")

подтверждается комбинациями клавиш CTRL+SHIFT+ENTER и копируется

Я использовал ; в качестве разделителей, потому что это стиль, используемый в вопросе

3

Если в ваших данных нет дубликатов, продолжайте использовать формулу в первой ячейке (я предполагаю E1 , а затем используйте следующее для копирования:

=INDEX(offset($A$1:$A$7;MATCH(E1;$A$1:$A$7;0);0;;);MATCH("A";offset($A$1:$A$7;MATCH(E1;$A$1:$A$7;0);1;;);0))

Конечно, фильтр может сделать вашу жизнь проще.

2

Подобно ответу Nutsch, попробуйте эту формулу в C2:

=IFERROR(INDEX(OFFSET($A$1:$A$7,MATCH(C1,$A$1:$A$7,0),0),MATCH($E$1,OFFSET($B$1:$B$7,MATCH(C1,$A$1:$A$7,0),0),0)),"")

Это предполагает, что вы используете свою формулу =INDEX($A$1:$A$7,MATCH($E$1,B1:B7,0)) в C1 - и сохраняете искомое значение (т. Е. A) в ячейке E1 .

(Примечание: замените , на ; соответствии с вашими локальными настройками)

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .