別々のワークシートで2つのリストを比較するには、どのようにVLOOKUPを使用すればよいですか?
2つのワークシートがあり、それぞれに上記のスクリーンショットで示されるように名前のリストが含まれているとします。Names-1のどの名前がNames-2にも存在しているか確認したい場合があります。この比較を手動で行うのは、特に長いリストの場合、面倒でエラーが発生しやすい作業です。本記事では、2つのリストを迅速かつ正確に比較し、異なるシート間で一致する値を見つけるための効率的な方法をいくつか紹介します。
数式を使って別々のワークシートの2つのリストを比較するVLOOKUP
数式を使って別々のワークシートにある2つのリストを比較するVLOOKUP
異なるExcelワークシートに配置されたリストを比較する実用的で直接的な方法の1つは、VLOOKUP関数を使用することです。この方法では、Names-1とNames-2の両方に見つかったすべての名前を効率的に抽出したりフラグを立てたりできます:
1. Names-1シートで、リストデータの隣にあるセル(たとえば、B2セル)を選択し、次の数式を入力します:
=VLOOKUP(A2,'Names-2'!$A$2:$A$19,1,FALSE)
そしてEnterキーを押します。現在の行の名前がNames-2に存在する場合、数式はその名前を返します。存在しない場合は、#N/Aエラーが表示されます。以下の例をご覧ください:
2. フィルハンドルをドラッグして数式を下にコピーし、Names-1の各名前をNames-2のすべての名前と比較します。一致するエントリには名前が表示され、見つからないものにはエラー値が表示されます:
注意:
1. より明確にするために、以下のような代替数式を使用して、一致する項目に「はい」または「いいえ」の指標を返すことができます:
=IF(ISNA(VLOOKUP(A2,'Names-2'!$A$2:$A$19,1,FALSE)), "No", "Yes")
この数式は、両方のシートに存在する名前に「はい」を、Names-1にのみ存在する名前に「いいえ」を表示します:
2. これらの数式を使用する際は、A2をリストの最初のセルに、Names-2を参照シートの名前に置き換え、$A$2:$A$19をワークシート内の実際のデータ範囲に合わせて調整してください。範囲は正しい行番号で始まり終わり、すべてのデータが含まれていることを確認してください。
3. 使用上のヒント: 一致があるべき場所で#N/Aエラーが発生した場合、余分なスペース、データフォーマットの違い(テキスト対数字)、またはリスト内のタイプミスが原因で問題が発生していないか確認してください。必要であれば、TRIMやCLEANをヘルパーカラムで使用してデータをクリーンアップしてください。
4. 偶然の上書きを避けるために、一括数式を適用する前にデータをバックアップすることをお勧めします。さらに、比較後には、数式結果カラムでフィルターを使用して、すべての一致または固有の項目を簡単に表示することができます。
別々のワークシートで2つのリストを比較するVLOOKUP
Kutools for Excelを持っている場合、その「同じセルと異なるセルを選択」機能を使用することで、わずかなクリックだけで2つの別々のワークシートから同じまたは異なる値を見つけ、強調表示できます。この機能により、手動でのミスのリスクが大幅に軽減され、特に大規模なデータセットに対してかなりの時間を節約できます。 今すぐKutools for Excelをダウンロードしましょう!
Kutools for Excel:300以上の便利なExcelアドインが利用可能で、30日間制限なしでお試しいただけます。 今すぐダウンロードして無料トライアル!
Kutools for Excelを使用して別々のワークシートにある2つのリストを比較するVLOOKUP
Kutools for Excelを持っている場合、「同じセルと異なるセルを選択」機能を使用すると、異なるワークシートからの2つのリストを迅速に比較し、これら2つのシート間で共通の名前を選択または強調表示することができます。複雑な数式を入力する必要はありません。この方法は、膨大なデータ量を扱う場合や、視覚的に色分けされた結果を素早く解釈したい場合に特に効果的です。
Kutools for Excelをインストール後、以下のステップに従ってリストを簡単に比較できます:
1. Kutoolsタブに行き、次に「選択」>「同じセルと異なるセルを選択」をクリックします(以下参照):
2. 開いた「同じセルと異なるセルを選択」ダイアログボックスで:
(1.) 「検索値」の下で、比較する範囲としてNames-1から範囲を選択します;
(2.) 「基準」の下で、比較対象としてNames-2から範囲を選択します;
(3.) 「基準」セクションで、行ごとに比較するために「各行」を選択します;
(4.) 「検索」セクションで、一致する名前を特定して強調表示するために「同じ値」を選択します;
(5.) 必要に応じて、結果を強調表示するために背景色やフォントの色を設定し、一致する項目を目立たせることができます。
3. 「OK」をクリックすると、一致するセルがいくつ見つかり、強調表示されたかを示すプロンプトボックスが表示されます。両方のリストに存在するすべての名前が選択され、視覚的に強調表示され、さらなるレビューまたは修正が簡単になります:
今すぐKutools for Excelをダウンロードして無料トライアル!
実践的なヒント:ワークシートに大規模なデータセットが含まれている場合、ハイライト後にフィルター機能を使用して、マッチした項目だけを素早く確認することを検討してください。また、比較を実行する前に、範囲選択が正しく整列しており、ヘッダー行が意図しない限り含まれていないことを再確認してください。不一致が結果に影響を与える可能性があります。
まれに、期待通りの結果が返されない場合、両方のリストが同じ形式(例えば、どちらもテキスト、先頭/末尾に隠れたスペースがないなど)であるかどうかを確認してください。フォーマットの不一致により、一致が見逃されることがあります。
別のシート全体にわたる条件付き書式設定
列に数式を記述したりアドインを使用したくない場合、カスタム数式による条件付き書式設定を利用して、他のシートのデータに基づいて一致する名前を目視で識別することができます。この方法はシンプルで、VBAは不要ですが、結果の一覧は返されません。代わりに、一致部分が簡単に一目でわかるように書式設定されます。
適用可能なシナリオ:このソリューションは、一致する値に対する視覚的なインジケーターが必要で、ワークシート構造を変更したくないユーザーにとって理想的です。制限点としては、条件付き書式設定ルールは別のワークブックを直接参照できず、数式によるシート間参照は同じファイル内でのみ動作します。
手順:
1. Names-1で、ハイライトを適用したい範囲を選択します(例:A2:A19)。
2. [ホーム] > [条件付き書式設定] > [新しいルール] > [数式を使用して書式設定するセルを決定する] に進みます。
3. 数式ボックスに、次の数式を入力します:
=COUNTIF('Names-2'!$A$2:$A$19,A2)>0
これにより、Names-1のA2の値がNames-2のA2:A19范围内に存在するかどうかをチェックします。
4. [書式] をクリックしてハイライト色を選択し、[OK] をクリックしてルールを適用します。選択した範囲内で一致するものが自動的にハイライト表示されます。
実践的なヒント:実際のデータに基づいて範囲を調整できるほか、COUNTIFステップをフィルターと組み合わせて、ハイライトされたセルだけに焦点を当てることができます。シート間参照を設定する際には、両方のワークシートが同じワークブック内にあることを確認してください。Excelは外部ファイルを参照する条件付き書式設定ルールをサポートしていません。
エラーの通知:ハイライトが期待通りに表示されない場合、セル範囲の選択とシート間参照にエラーがないか確認してください。余分な先頭/末尾のスペースやフォーマットの不整合により、一致が見逃されている可能性があります。必要があれば、ヘルパーカラムでTRIMを使用してリストをクリーンアップし、正確な比較を行ってください。
VBAコード - リストを自動的に比較し、一致するものを強調表示または抽出
マクロに慣れているユーザーの場合、VBAコードを使用すると、個別のワークシートにある2つのリストを非常に柔軟かつ自動的に比較できます。このアプローチでは、一致する名前を強調表示したり、一致する値を新しい場所に抽出したりすることが可能で、大量のデータを処理する場合や、リストが変更される際に迅速に更新を行う必要がある場合に特に役立ちます。
適用可能なシナリオ:このソリューションは、繰り返し比較を実行する必要がある場合、非常に大規模なデータセットを処理する場合、レポートを自動化する場合、または一致の処理や提示方法をさらにカスタマイズしたい場合に特に効果的です。VBAの知識が必要ですが、完全な自動化と制御の利点を得られます。欠点は、マクロがワークブックで有効になっている必要があり、セキュリティ設定によってはすべての環境で許可されない可能性があることです。
Names-2に存在する場合、Names-1で一致するものを強調表示するマクロを実行する方法:
1. [開発ツール] > [Visual Basic] をクリックして、Microsoft Visual Basic for Applicationsウィンドウを起動します。ウィンドウで [挿入] > [モジュール] をクリックし、次のコードを新しいモジュールに貼り付けます:
Sub HighlightMatchingNames()
Dim ws1 As Worksheet
Dim ws2 As Worksheet
Dim rng1 As Range
Dim cell As Range
Dim matchFound As Range
On Error Resume Next
xTitleId = "KutoolsforExcel"
Set ws1 = Worksheets("Names-1")
Set ws2 = Worksheets("Names-2")
Set rng1 = ws1.Range("A2", ws1.Cells(ws1.Rows.Count, "A").End(xlUp))
ws1.Range("A2:A" & ws1.Cells(ws1.Rows.Count, "A").End(xlUp).Row).Interior.ColorIndex = xlNone
For Each cell In rng1
Set matchFound = ws2.Range("A2:A" & ws2.Cells(ws2.Rows.Count, "A").End(xlUp).Row).Find( _
What:=cell.Value, LookIn:=xlValues, LookAt:=xlWhole)
If Not matchFound Is Nothing And cell.Value <> "" Then
cell.Interior.Color = vbYellow
End If
Next cell
End Sub
2. VBAエディタで、 ボタンをクリックしてコードを実行します。このマクロは、Names-1ワークシートのA列にある名前をスキャンし、その名前がNames-2ワークシートのA列にもある場合、Names-1の該当セルを黄色で塗りつぶして強調表示します。範囲内の以前の強調表示は、新しい比較前にクリアされます。
トラブルシューティング:何もセルが強調表示されない場合、両方のワークシートが正確に "Names-1" および "Names-2" という名前であるか確認してください。また、データ範囲がA2から始まっていることも確認してください。マクロが有効になっていること、どちらのワークシートも保護されておらずフィルターがかかっていないことを確認してください。このアプローチは簡単にカスタマイズできます。たとえば、ハイライトの色を変更したり、コードを適応させて一致した結果を別のシートやカラムにコピーすることも可能です。
まとめと提案:ニーズと技術的な習熟度に応じて、組み込みの数式ソリューション、マクロによる自動化、Kutoolsのようなスマートなアドイン、または条件付き書式設定による直感的な視覚化の中から選択できます。数式やVBAを使用する場合、余分なスペースや一貫性のないフォーマットがないか常にデータを確認してください。これらはエラーの一般的な原因です。マクロやアドインを初めて使用する場合は、バッチ変更を行う前にデータをバックアップしてください。数式が更新されない、または一致が正しくないなどの問題が発生した場合、相対/絶対範囲の間違いを確認し、ワークシート名を確認してください。ワークフローに合った方法を選択することで、Excelで異なるシート間のリストを効果的かつ効率的に比較することができます。
最高のオフィス生産性ツール
🤖 | Kutools AI Aide:データ分析を革新:インテリジェント実行 | コード生成 | カスタム数式の作成 | データを分析してグラフを生成 | Kutools Functions を呼び出す… |
人気機能:重複の検索・ハイライト・マーキング | 空白行を削除 | データを失わず列やセルを統合 | 丸める ... | |
スーパーLOOKUP:複数条件VLOOKUP | 複数値VLOOKUP | 複数シートの検索 | ファジーマッチ .... | |
高度なドロップダウンリスト:すばやくドロップダウンリストを作成 | 依存型ドロップダウンリスト | 複数選択ドロップダウンリスト .... | |
列の管理:特定数の列を追加 | 列を移動 | 非表示列の表示状態を切り替え | 範囲と列の比較 ... | |
注目機能:グリッドフォーカス | デザインビュー | 強化された数式バー | ワークブック&ワークシートの管理 | オートテキスト ライブラリ (Auto Text) | 日付ピッカー | データの統合 | セルの暗号化/復号化 | リスト送信で電子メールを送信 | スーパーフィルター | 特殊フィルタ(太字/斜体/取り消し線でフィルタ...) | |
トップ15ツールセット:12 種類のテキストツール(テキストの追加、特定の文字を削除など) | 50 種以上のグラフ タイプ(ガントチャートなど) | 40を超える実用的な 数式(誕生日に基づいて年齢を計算する、など) | 19種の 挿入ツール(QRコードの挿入、パスから画像の挿入など) | 12種類の 変換ツール(単語に変換する、通貨変換など) | 7つの 結合&分割ツール(高度な行のマージ、セルの分割など) | ...さらに多数 |
Kutools for ExcelでExcelスキルを強化し、かつてない効率を体験しましょう。 Kutools for Excelは300以上の高度な機能で生産性向上と時間短縮を実現します。最も必要な機能を今すぐ取得...
Office TabはOfficeにタブ表示を追加し、作業効率を大幅に向上させます
- Word、Excel、PowerPointでタブ編集とタブ閲覧を有効にします
- 同じウィンドウ内の新しいタブで複数のドキュメントを開いたり作成したりできます。新しいウィンドウを開く必要はありません。
- 生産性が50%向上し、1日に何百回ものマウスクリックも削減できます!