Я застрял на этой проблеме Excel и искал решение безрезультатно. Надеюсь, вы можете помочь!

В столбце AI есть список клиентов, а в столбце BI - еще более длинный список счетов. По сути, я пытаюсь сопоставить самый последний счет с клиентом. Я попытался использовать =INDEX(B:B, MATCH(1,IF(ISERR(FIND(A1,B:B)),0,1),0)) Эта формула ищет имя клиента 1 в списке счетов и возвращает первый найденный счет С1.

Эта формула прекрасно работает - пока у клиента есть только один счет. После этого формула бесполезна, потому что мне нужен самый последний счет, а не первый, который он находит.

То, что я пытаюсь сделать, находится в таблице ниже. Обратите внимание, что у Клиента 4 есть Счет № 002 и № 003, и мне нужен самый последний (или ближайший к низу), сопоставленный этому клиенту.

+------------------------------------------------------------------------+
| Customers      Invoices                      Recent Invoice            |
+------------------------------------------------------------------------+
| Customer 1     [Invoice #001] Customer 3     [Invoice #004] Customer 1 |
| Customer 2     [Invoice #002] Customer 4     N/A                       |
| Customer 3     [Invoice #003] Customer 4     [Invoice #001] Customer 3 |
| Customer 4     [Invoice #004] Customer 1     [Invoice #003] Customer 4 | 
+------------------------------------------------------------------------+

Мне это показалось очень простым ... начать снизу и искать вверх ... но я думаю, что это не так просто.

Любая помощь будет принята с благодарностью!

-J

1 ответ1

0

Это найдет последнюю запись для каждого клиента:

=INDEX(B:B,AGGREGATE(14,6,ROW($B$2:INDEX(B:B,MATCH("zzz",B:B)))/(ISNUMBER(SEARCH(A2,$B$2:INDEX(B:B,MATCH("zzz",B:B))))),1))

Если вы хотите, чтобы второй был последним, измените последние с 1 на 2 .

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