フィルターを指定して 2 つの Excel ファイルを接続するにはどうすればよいでしょうか?

フィルターを指定して 2 つの Excel ファイルを接続するにはどうすればよいでしょうか?

次の 2 つの Excel ファイルがあるとします。

まず

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

2番目は

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

最初のファイルを経費タイプ(例:「CCL」)でフィルタリングし、一致する経費タイプを持つ 2 番目のファイルから情報を検索したい

別のスプレッドシートで次の結果を取得します。

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

私はまだ VBA に精通していませんが、手順を自動化するマクロを作成することは可能ですか? よろしくお願いします。

答え1

3 番目のワークブックの A1 に「CCL」と入力します。

2行目はヘッダー用です。
例

配列Enter数式は通常の ではなく、Ctrl+ Shift+を使用して入力されますEnter

A3にはこれがある配列式:

=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)),"")

関連情報