ARRAYFOMURAを使いつつ、XLOOKUPで複数シートから参照する

XLOOKUP や VLOOKUPで複数シートから参照する方法は
検索すると見つかりますが
ARRAYFOMURAを組み合わせて使うと、挙動がおかしくなった。


1つ目のシートの検索結果は表示されるが、
2つ目のシートの検索結果がどうもおかしい。
引数の中で列指定をしていることが原因な気はする。

あーでもない、こーでもないと式をいじってみると
第6引数の「検索モード」を、「ー1」「2」に設定するとうまくいくことが分かった。

スプレッドシート上で出てくるXLOOKUP関数の説明

私がXLOOKUPで表示したかったシートは
検索キーが昇順で並んでいたため「-1」「2」が当てはまったのだろう

第6引数 検索モードの説明

他のシートで関数を検証できていないので確証はないですが
昇順で並んでいない場合は第6引数を「-1」に設定したら上手くいくと思います。


私が実際に使用した関数は下記

  • 「大阪」「東京」のシートがあり、列順は両シートとも同じ

  • 検索キーは、XLOOKUPを入力するシートと同じ

  • 複数シートを参照する場合は{}で囲み、シートとシートの間に;をつける

  • 完全一致で検索したかったので第5引数は「0」としています

=ArrayFormula(XLOOKUP(E3:E,{'大阪'!B:B;'東京'!B:B},{'大阪'!M:M;'東京'!M:M},"アドレスなし",0,-1))


おわりに

実際のシートを貼れたらいいのですが、
ダミーデータを作る余裕がないので一旦文字だけで…

参考になるか分かりませんが自分の備忘録として残します。



以下参考ページ

LOOKUP で複数シートから参照する方法

カワムラ先生のnote

VLOOKUPで複数シート



この記事が気に入ったらサポートをしてみませんか?