Vba で xlookup を使用する方法 (例付き)
VBA を使用して XLOOKUP を実行するには、次の基本構文を使用できます。
Sub Xlookup()
Range(" F2 ").Value = WorksheetFunction.Xlookup(Range(" E2 "), Range(" A2:A11 "), Range(" C2:C11 "))
End Sub
この特定の例では、範囲A2:A11のセルE2の値を検索し、範囲C2:C11で一致する値を見つけて、その結果をセルF2に割り当てます。
次の例は、この構文を実際に使用する方法を示しています。
例: VBA で XLOOKUP を使用する方法
さまざまなバスケットボール選手に関する情報を含む次のデータセットが Excel にあるとします。
データセットでチーム名「Kings」を検索し、対応する値をアシスト列に返したいとします。
これを行うには、次のマクロを作成できます。
Sub Xlookup()
Range(" F2 ").Value = WorksheetFunction.Xlookup(Range(" E2 "), Range(" A2:A11 "), Range(" C2:C11 "))
End Sub
このマクロを実行すると、次の出力が表示されます。
このマクロは、キングスの3アシストの値を正しく返します。
セルE2のチーム名を変更してマクロを再度実行すると、新しいチーム名のヘルパー値が正しく検索されます。
たとえば、チーム名を「Warriors」に変更し、マクロを再度実行するとします。
マクロはウォリアーズの4アシストの値を正しく返します。
オプションの 4 番目の引数をXlookup関数に追加して、一致するものが見つからなかった場合に表示する値を指定することもできることに注意してください。
たとえば、次のマクロを使用して XLOOKUP 関数を実行し、一致するものが見つからない場合に「None」を返すことができます。
Sub Xlookup()
Range(" F2 ").Value = WorksheetFunction.Xlookup(Range(" E2 "), Range(" A2:A11 "), Range(" C2:C11 "), "None")
End Sub
「None」を表示したい値に自由に置き換えてください。
追加リソース
次のチュートリアルでは、VBA で他の一般的なタスクを実行する方法について説明します。
VBA: インデックス マッチングの使用方法
VBA:VLOOKUPの使い方
VBA:別シートからVLOOKUPを使用する方法