当サイトの記事にはプロモーションが含まれています。

Excel VBAでVLOOKUPを使って複数の一致を取得する方法

パソコンパソコン・スマホ教室
スポンサーリンク

みなさん、こんにちは!今日は、ExcelのVLOOKUP関数を使って、複数の一致する値を取得する方法についてお話しします。通常、VLOOKUPは最初に見つかった一致のみを返しますが、少し工夫することで、複数の一致を取得することが可能です。特に、Excel VBAを使ってこの機能を実現する方法を見ていきましょう。

スポンサーリンク

VLOOKUPの基本的な使い方

Excelのイメージ

Excelのイメージ

まず、VLOOKUP関数の基本をおさらいしましょう。VLOOKUPは、指定した値を範囲内で検索し、その値に対応する列のデータを返す関数です。例えば、商品名から価格を取得する際に便利です。

VLOOKUPで複数の一致を取得する必要性

しかし、同じ商品が複数回販売されている場合、VLOOKUPは最初の一致しか返しません。すべての販売記録を取得したい場合、これは不便ですよね。そこで、複数の一致を取得する方法が求められます。

VBAを使って複数の一致を取得する方法

Excelの標準関数だけでは限界があるため、VBA(Visual Basic for Applications)を使って、この問題を解決します。以下に、指定した値に一致するすべての結果を取得し、カンマで区切って1つのセルに表示するカスタム関数の例をご紹介します。

vba
Function VlookupAllMatches(LookupValue As Variant, LookupRange As Range, ColumnIndex As Integer) As String
Dim Result As String
Dim Cell As Range
Result = ""
For Each Cell In LookupRange.Columns(1).Cells
If Cell.Value = LookupValue Then
If Result = "" Then
Result = Cell.Offset(0, ColumnIndex - 1).Value
Else
Result = Result & ", " & Cell.Offset(0, ColumnIndex - 1).Value
End If
End If
Next Cell
VlookupAllMatches = Result
End Function

この関数を使うと、例えば「商品A」のすべての販売日を取得し、1つのセルに「2025/03/01, 2025/03/05, 2025/03/10」のように表示できます。

関数の使い方

1. VBAエディタを開くExcelで`Alt + F11`を押してVBAエディタを開きます。
2. 新しいモジュールを挿入`挿入`メニューから`モジュール`を選択します。
3. コードを貼り付ける上記の関数コードを新しいモジュールに貼り付けます。
4. 関数を使用するExcelシートに戻り、セルに`=VlookupAllMatches(“商品A”, A2:B10, 2)`のように入力します。

まとめ

今回は、Excel VBAを使ってVLOOKUPで複数の一致を取得する方法をご紹介しました。これにより、データ分析やレポート作成がより効率的になります。ぜひ試してみてください!

他にも疑問やお悩み事があればお気軽にLINEからお声掛けください。

この記事を書いた人
この記事を書いた人

企業の情報システム部門で10年以上、PC・アカウント・社内ネットワーク・Microsoft 365/Google Workspace運用を担当。年間数百件の問い合わせ対応(PC不調、メール送受信、Excel/Word資料、Teams会議、スマホ連携など)を通じて、初心者がつまずくポイントを「再現→原因切り分け→最短解決」の手順に落とし込んできました

現場や身近で実際に起きたトラブルをベースに、手順だけでなく「なぜそうなるか」「失敗しやすい落とし穴」「安全な設定(セキュリティ)」まで含めて解説します。

相談窓口(問い合わせ/LINE等)を設け、記事で解決しないケースも個別にサポートしていますので「パソコンが急に動かなくなった」「スマホの設定がわからない」などの悩みは一人で抱え込まず、お気軽にご相談ください。

【お問い合わせは下記URLから】
https://m32006400n.xsrv.jp/inquiry-form/

【公式LINEは下記URLから】
https://lin.ee/t8TDjcj

uri uriをフォローする
スポンサーリンク
よかったらシェアしてね! /
uri uriをフォローする

コメント

タイトルとURLをコピーしました