VBA の VLOOKUP 関数
例を挙げて、VBA で VLOOKUP
を使用する方法を紹介します。
VBA で VLOOKUP()
関数を使用する
Excel では、VLOOKUP()
関数を使用して配列内の値を検索し、別の列から同等の値を返すことができます。調べたい値は、最初の列に存在する必要があります。
また、完全に一致するか、値に最も近いものが必要かどうか、要件を示す必要があります。ワークシートを使用して、VLOOKUP
にアクセスできます。
構文:
# VBA
VLOOKUP(search_value,range,returnIndex_num,[lookupRange])
search_value
は、検索する値を意味します。range
は作業中の範囲、returnIndex_num
は戻り値が必要な列番号、lookupRange
は一致が完全か近いかを示します。
lookupRange
には 2つの可能性があり、true
または false
、または 0
または 1
になります。
コード:
#VBA
Application.WorksheetFunction.vlookup(search_value,range,returnIndex_num,[lookupRange])
例を挙げて、そこからいくつかのデータを見つけてみましょう。フリーランサーの ID
、Names
、および Projects Submitted
を含むデータがあります。
ID 4
のフリーランサーが完了したプロジェクトを検索する場合は、VBA の vlookup()
関数を使用してプロジェクトを検索する必要があります。
まず、ALT + F11キーを押して VBA エディターを開き、Insert > Module
から新しいモジュールを作成します。次に、新しいサブ lookForProj()
を作成し、freelancer_id
と projects completed
に変数を割り当てます。
また、フリーランサーを探したい範囲を設定します。
コード:
#VBA
Sub lookForProj()
Dim freelancer_id As Long
Dim projects As Long
freelancer_id = 4
Set newRange = Range("A2:C6")
projects = Application.WorksheetFunction.VLookup(freelancer_id, newRange, 3, False)
MsgBox "Freelancer with ID: " & freelancer_id & " completed " & projects & " projects"
End Sub
出力:
別の例を示しましょう。製品の名前とその売上を含むデータを検討し、このデータを列 B
と C
に追加したとします。
vlookup()
関数を使用して、製品ごとの販売数を検索します。まず、挿入>モジュール
から新しいモジュールを作成し、新しいサブ lookForSales()
を作成しましょう。
product_id
と sales
に変数を割り当て、フリーランサーを見つける範囲を設定します。
コード:
# VBA
Sub lookForSales()
Dim product_id As Long
Dim sales As Long
product_id = 2
Set newRange = Range("A2:C6")
sales = Application.WorksheetFunction.VLookup(product_id, newRange, 3, False)
MsgBox "Product with ID: " & product_id & " sold " & sales & " times"
End Sub
出力: