Как соединить два файла Excel с учетом фильтра?

Как соединить два файла Excel с учетом фильтра?

Предположим, что есть 2 файла Excel:

во-первых, это

expenses amount
CCL      12usd
FFL      25usd
CCL      12usd
FFL      25usd
FCL      10usd   

во-вторых, это

name id expenses
A    12 CCL
B    13 FCL
C    14 FFL
D    15 CCL

Я хочу отфильтровать первый файл по типу расходов, например: «CCL» и найти информацию из второго файла с соответствующим типом расходов.

И получите следующие результаты в другой таблице:

name  id  expenses amount 
A     12  CCL      12usd
D     15  CCL      12usd

Я пока не знаком с VBA, но возможно ли написать макрос для автоматизации процедуры? Заранее спасибо.

решение1

Напишите «CCL» в ячейке A1 вашей третьей рабочей тетради.

2-я строка — для заголовков.
пример

Множествоформулы вводятся не с помощью обычных Enter, а с помощью Ctrl+ Shift+ Enter.

У А3 есть этомножествоформула:

=IFERROR(INDEX('C:\Temp\[Book2.xlsx]Sheet1'!$A$1:$A$5,SMALL(IF('C:\Temp\[Book2.xlsx]Sheet1'!$C$1:$C$5=$A$1,ROW('C:\Temp\[Book2.xlsx]Sheet1'!$C$1:$C$5),""),ROW(A1))),"")

У B3 есть этомножествоформула:

=IFERROR(INDEX('C:\Temp\[Book2.xlsx]Sheet1'!$B$1:$B$5,SMALL(IF('C:\Temp\[Book2.xlsx]Sheet1'!$C$1:$C$5=$A$1,ROW('C:\Temp\[Book2.xlsx]Sheet1'!$C$1:$C$5),""),ROW(A1))),"")

C3 имеет следующую формулу:

=IF(A3<>"",$A$1,"")

У D3 есть этомножествоформула:

=IFERROR(INDEX('C:\Temp\[Book1.xlsx]Sheet1'!$B$1:$B$6,MATCH(C3,'C:\Temp\[Book1.xlsx]Sheet1'!$A$1:$A$6,0)),"")

Связанный контент