欠落している値を見つける
ExcelでリストAの値がリストBに存在するかどうかを確認するために、2つのリストを比較する必要がある場合があります。例えば、製品リストがあり、そのリストの製品がサプライヤーから提供された製品リストに存在するかどうかを確認したいとします。このタスクを達成するために、以下に3つの方法を示しますので、お好みのものを選んでください。
MATCH、ISNA、IFを使用して欠落している値を見つける
VLOOKUP、ISNA、IFを使用して欠落している値を見つける
COUNTIFとIFを使用して欠落している値を見つける
MATCH、ISNA、IFを使用して欠落している値を見つける
上記のスクリーンショットに示すように、あなたのリストのすべての製品がサプライヤーのリストに存在するかどうかを確認するには、まずMATCH関数を使用して自分のリスト(リストA)にある製品(値)がサプライヤーのリスト(リストB)における位置を取得できます。製品が見つからない場合、MATCHは#N/Aエラーを返します。その後、その結果をISNAに渡して、#N/AエラーをTRUEに変換し、それらの製品が欠落していることを意味します。そして、IF関数は期待する結果を返します。
汎用構文
=IF(ISNA(MATCH("検索値",検索範囲,0)),"欠落","発見")
√ 注: 必要に応じて「欠落」、「発見」を任意の値に変更できます。
- 検索値: MATCHが検索範囲内に存在する場合にその位置を取得するために使用される値、または存在しない場合は#N/Aエラー。ここでは、あなたのリスト内の製品を指します。
- 検索範囲: 検索値と比較するセルの範囲。ここでは、サプライヤーの製品リストを指します。
あなたのリストのすべての製品がサプライヤーのリストに存在するかどうかを確認するには、以下の数式をセルH6にコピーまたは入力し、Enterキーを押して結果を得てください:
=IF(ISNA(MATCH(30002,$B$6:$B$10,0)),"欠落","発見")
または、数式を動的にするためにセル参照を使用します:
=IF(ISNA(MATCH(G6,$B$6:$B$10,0)),"欠落","発見")
√ 注: 上記のドル記号($)は絶対参照を示しており、これは数式を他のセルに移動またはコピーしても検索範囲が変わらないことを意味します。ただし、検索値は動的にしたいので、ドル記号は追加されていません。数式を入力した後、フィルハンドルを下にドラッグして数式を下のセルに適用してください。
数式の説明
ここでは、次の数式を例として使用します:
=IF(ISNA(MATCH(G8,$B$6:$B$10,0)),"欠落","発見")
- MATCH(G8,$B$6:$B$10,0): match_type 0は、MATCH関数に配列$B$6:$B$10内で最初に一致する3004(セルG8の値)の位置を表す数値を返させます。しかし、この場合、MATCHは検索配列内で値を見つけられず、#N/Aエラーを返します。
- ISNA(ISNA(MATCH(G8,$B$6:$B$10,0))) = ISNA(ISNA(#N/A)): ISNAは、値が「#N/A」エラーであるかどうかを確認します。もしそうなら、関数はTUREを返します。「#N/A」以外の値であれば、FALSEを返します。したがって、このISNA数式はTUREを返します。
- IF(ISNA(MATCH(G8,$B$6:$B$10,0)),"欠落","発見") = IF(TRUE,"欠落","発見"): ISNAとMATCHによる比較がTRUEの場合、IF関数は「欠落」を返し、そうでない場合は「発見」を返します。したがって、この数式は「欠落」を返します。
VLOOKUP、ISNA、IFを使用して欠落している値を見つける
あなたのリストのすべての製品がサプライヤーのリストに存在するかどうかを確認するには、上記のMATCH関数をVLOOKUPに置き換えることができます。VLOOKUPは、値が別のリストに存在しない場合、つまり欠落している場合に#N/Aエラーを返すため、MATCHと同じように動作します。
汎用構文
=IF(ISNA(VLOOKUP("検索値",検索範囲,1,FALSE)),"欠落","発見")
√ 注: 必要に応じて「欠落」、「発見」を任意の値に変更できます。
- 検索値: VLOOKUPが検索範囲内に存在する場合にその位置を取得するために使用される値、または存在しない場合は#N/Aエラー。ここでは、あなたのリスト内の製品を指します。
- 検索範囲: 検索値と比較するセルの範囲。ここでは、サプライヤーの製品リストを指します。
あなたのリストのすべての製品がサプライヤーのリストに存在するかどうかを確認するには、以下の数式をセルH6にコピーまたは入力し、Enterキーを押して結果を得てください:
=IF(ISNA(VLOOKUP(30002,$B$6:$B$10,1,FALSE)),"欠落","発見")
または、数式を動的にするためにセル参照を使用します:
=IF(ISNA(VLOOKUP(G6,$B$6:$B$10,1,FALSE)),"欠落","発見")
√ 注: 上記のドル記号($)は絶対参照を示しており、これは数式を他のセルに移動またはコピーしても検索範囲が変わらないことを意味します。ただし、検索値は動的にしたいので、ドル記号は追加されていません。数式を入力した後、フィルハンドルを下にドラッグして数式を下のセルに適用してください。
数式の説明
ここでは、次の数式を例として使用します:
=IF(ISNA(VLOOKUP(G8,$B$6:$B$10,1,FALSE)),"欠落","発見")
- VLOOKUP(G8,$B$6:$B$10,1,FALSE): range_lookup FALSEは、VLOOKUP関数に配列$B$6:$B$10内で正確に一致する3004(セルG8の値)を検索して返させます。もし検索値3004が配列$B$6:$B$10の1列目に存在する場合、VLOOKUPはその値を返します。それ以外の場合は、#N/Aエラー値を返します。ここでは、3004は配列に存在しないため、結果は#N/Aとなります。
- ISNA(ISNA(VLOOKUP(G8,$B$6:$B$10,1,FALSE))) = ISNA(ISNA(#N/A)): ISNAは、値が「#N/A」エラーであるかどうかを確認します。もしそうなら、関数はTUREを返します。「#N/A」以外の値であれば、FALSEを返します。したがって、このISNA数式はTUREを返します。
- IF(ISNA(VLOOKUP(G8,$B$6:$B$10,1,FALSE)),"欠落","発見") = IF(TRUE,"欠落","発見"): ISNAとVLOOKUPによる比較がTRUEの場合、IF関数は「欠落」を返し、そうでない場合は「発見」を返します。したがって、この数式は「欠落」を返します。
COUNTIFとIFを使用して欠落している値を見つける
あなたのリストのすべての製品がサプライヤーのリストに存在するかどうかを確認するには、COUNTIFとIF関数を使ったよりシンプルな数式を使用できます。この数式は、Excelがゼロ(0)以外の数値をTRUEと評価することを利用しています。したがって、ある値が別のリストに存在する場合、COUNTIF関数はそのリストでの出現回数を返し、IFはそれをTRUEと解釈します。値がリストに存在しない場合、COUNTIF関数は0を返し、IFはそれをFALSEと解釈します。
汎用構文
=IF(COUNTIF("検索範囲",検索値),"発見","欠落")
√ 注: 必要に応じて「発見」、「欠落」を任意の値に変更できます。
- 検索範囲: 検索値と比較するセルの範囲。ここでは、サプライヤーの製品リストを指します。
- 検索値: COUNTIFが検索範囲内の出現回数を返すために使用される値。ここでは、あなたのリスト内の製品を指します。
あなたのリストのすべての製品がサプライヤーのリストに存在するかどうかを確認するには、以下の数式をセルH6にコピーまたは入力し、Enterキーを押して結果を得てください:
=IF(COUNTIF($B$6:$B$10,30002),"発見","欠落")
または、数式を動的にするためにセル参照を使用します:
=IF(COUNTIF($B$6:$B$10,G6),"発見","欠落")
√ 注: 上記のドル記号($)は絶対参照を示しており、これは数式を他のセルに移動またはコピーしても検索範囲が変わらないことを意味します。ただし、検索値は動的にしたいので、ドル記号は追加されていません。数式を入力した後、フィルハンドルを下にドラッグして数式を下のセルに適用してください。
数式の説明
ここでは、次の数式を例として使用します:
=IF(COUNTIF($B$6:$B$10,G8),"発見","欠落")
- COUNTIF($B$6:$B$10,G8): COUNTIF関数は、セルG8の値である3004が配列 $B$6:$B$10に何回現れるかをカウントします。明らかに、3004は配列に存在しないため、結果は0になります。
- IF(COUNTIF($B$6:$B$10,G8),"発見","欠落") = IF(0,"発見","欠落"): IF関数は0をFALSEと評価します。したがって、この数式は最初の引数がFALSEと評価された場合に返す値である「欠落」を返します。
関連する関数
IF関数は、Excelワークブックで最もシンプルで有用な関数の一つです。それは単純な論理テストを行い、比較結果に基づいて、結果がTRUEの場合にはある値を返し、FALSEの場合には別の値を返します。
ExcelのMATCH関数は、特定の範囲内で指定された値を検索し、その値の相対的な位置を返します。
ExcelのVLOOKUP関数は、テーブルの最初の列で値を照合し、同じ行の特定の列から対応する値を返します。
COUNTIF関数は、Excelで条件を満たすセルの数を数える統計関数です。論理演算子(<>、=、>、<)や部分一致のワイルドカード(? と *)をサポートしています。
関連する数式
Excelの範囲内で特定の文字列を含む最初の一致を検索するには、INDEXおよびMATCH数式にワイルドカード文字(アスタリスク(*)とクエスチョンマーク(?))を使用できます。
部分情報に基づいてExcelでデータを取得する必要がある場合があります。この問題を解決するために、VLOOKUP数式にワイルドカード文字(アスタリスク(*)とクエスチョンマーク(?))を組み合わせて使用できます。
従業員のパフォーマンスを評価したり、学生の成績をつけたり、重量に基づいて郵便料金を計算したりするために、Excelで近似一致を見つける必要がある場合があります。このチュートリアルでは、INDEXおよびMATCH関数を使用して必要な結果を取得する方法について説明します。
いくつかのケースでは、複数の基準に基づいて最も近いまたは近似の一致値を検索する必要があります。INDEX、MATCH、およびIF関数を組み合わせることで、Excelでこれを迅速に行うことができます。
最高のOffice生産性ツール
Kutools for Excel - あなたを群衆から際立たせるツール
🤖 | Kutools AI アシスタント: 次の要素に基づいてデータ分析を革新:インテリジェント実行 | コード生成 | カスタム数式の作成 | データの分析とチャートの生成 | Kutools 拡張機能の呼び出し… |
人気の機能:重複の検索、ハイライト、または識別 | 空白行の削除 | データを失うことなく列やセルを結合 | 数式なしで丸める ... | |
スーパーフィルター:複数条件 | 複数値 | 複数シート間 | ファジーマッチ... | |
高度なドロップダウンリスト:簡単なドロップダウンリスト | 依存するドロップダウンリスト | 複数選択可能なドロップダウンリスト... | |
列マネージャー:特定の数の列を追加 | 列の移動 | 非表示列の可視性ステータスの切り替え | 列を比較して同じおよび異なるセルを選択 ... | |
注目機能:グリッドフォーカス | デザインビュー | 強化された数式バー | ワークブックとシートの管理 | オートテキスト ライブラリ (Auto Text) | 日付ピッカー | データの統合 | セルの暗号化/復号化 | リストによるメール送信 | スーパーフィルター | 特殊フィルタ(太字/斜体/取り消し線のフィルタリング...) ... | |
トップ15のツールセット: 12 のテキストツール(テキストの追加、特定の文字を削除 ...) | 50 以上 のグラフタイプ(ガントチャート ...) | 40 以上の実用的な数式(誕生日に基づいて年齢を計算 ...) | 19 の挿入ツール(QRコードの挿入、パスからの画像挿入 ...) | 12 の変換ツール(単語に変換する、通貨変換 ...) | 7 つの結合と分割ツール(高度な行のマージ、Excelセルの分割 ...) | ... さらに |
Kutools for Excelは300以上の機能を誇り、必要なものがワンクリックで手に入ります...
Office Tab - Microsoft Office(Excel含む)でのタブ形式の閲覧と編集を有効にする
- 数十の開いている文書間を1秒で切り替え!
- 毎日数百回のマウスクリックを減らし、マウス手にさよならを告げる。
- 複数の文書を閲覧・編集する際に、生産性が50%向上します。
- Chrome、Edge、Firefoxのように、Office(Excel含む)に効率的なタブをもたらします。