Excelで未回答者を抽出する方法|名簿と回答済みリストを照合する数式と例
ホーム > お役立ち情報 > 業務プロセス改善 > Excelで未回答者を抽出する方法|名簿と回答済みリストを照合する数式と例

Excelで未回答者を抽出する方法|名簿と回答済みリストを照合する数式と例

チェックシートやアンケートを複数の相手に依頼したとき、まだ回答していない相手は、依頼先の名簿と回答済みの一覧を同じIDで照合すると見つけられます。

この記事では、架空の名簿と回答済みリストを使って、未回答者を出す数式を手順どおりに紹介します。記事の表と同じデータを入力すれば、手元のExcelで同じ結果を確かめられます。あわせて、IDの表記の揺れ、重複した回答、名簿にない回答、対象外の相手の扱い方も説明します。

用意する2つの表

「名簿」と「回答済み」という名前の2つのシートを、同じブックに用意します。

この記事の例では、回答者IDを「大文字・小文字を区別しない、空白を含まない識別子」とします。名簿と回答済みリストの両方で、同じIDを使っている前提です。

名簿シート(1行目は見出し、2〜8行目がデータ)

行A:回答者IDB:会社名C:メールアドレスD:対象外
2V001架空A社a@example.jp
3V002架空B社b@example.jp
4V003架空C社c@example.jp対象外
5V004架空D社d@example.jp
6V005架空E社e@example.jp
7V006架空F社f@example.jp
8(空欄)架空G社g@example.jp

D列には、契約終了などで今回の確認対象から外す相手に「対象外」と入力します。E列とF列は、後の手順で数式を入れます。

回答済みシート(1行目は見出し、2〜7行目がデータ)

行A:回答者IDB:回答日
2V0012026/10/1
3V004(末尾に半角スペースがある)2026/10/2
4v0052026/10/3
5V0012026/10/5
6V0092026/10/6
7(空欄)2026/10/7

表の「(空欄)」は説明用の表記です。セルには何も入力しないでください。回答済みシートのA3には、V004の直後に半角スペースを1つ入力します。括弧内の説明は入力しません。左端の「行」も、Excelに入力する列ではありません。

この回答済みリストには、照合でつまずきやすい例を入れています。3行目は末尾にスペースがあるID、4行目は小文字のID、5行目はV001の2回目の回答、6行目は名簿にないID、7行目はIDが空欄の回答です。C列とD列は、後の手順で数式を入れます。

回答がExcelファイルで部署ごとに届いている場合は、先に1つの表にまとめておくと照合しやすくなります。複数のファイルを1つの表にする方法は、Excelの複数ファイルを1つにまとめる方法で紹介しています。

未回答者を出す手順

1. 回答済みシートに照合用IDを作る

回答済みシートのC1に「照合用ID」と入力し、C2に次の数式を入力して、C7までコピーします。

=IF(A2="","",TRIM(A2))

TRIM関数は、文字列の前後のスペースを取り除き、単語の間に続くスペースを1つにする関数です。この例では、3行目の「V004 」が「V004」になります。A列が空欄の行は、C列も空欄のままにします。

2. 名簿に回答状況と回答件数を表示する

名簿シートのE1に「回答状況」、F1に「回答件数」と入力します。E2に次の数式を入力します。

=IF(A2="","ID未入力",IF(D2="対象外","対象外",IF(COUNTIF(回答済み!$C$2:$C$7,A2)>0,"回答あり","未回答")))

F2に次の数式を入力します。

=IF(A2="","",COUNTIF(回答済み!$C$2:$C$7,A2))

E2とF2を選び、8行目までコピーします。COUNTIF関数は、回答済みシートの照合用IDの中に、名簿のIDと同じものが何件あるかを数えます。1件以上あれば「回答あり」、0件なら「未回答」と表示します。IDが空欄の行は「ID未入力」、D列が「対象外」の行は「対象外」と表示します。

3. 未回答者だけを一覧にする

名簿シートのH2に次の数式を入力します。結果は、H列から右と下に表示されます。

=FILTER(A2:B8,E2:E8="未回答","未回答者なし")

FILTER関数は、条件に合う行だけを取り出す関数です。3つ目の引数には、該当する行がないときに表示する文字を指定します。指定しないと、該当がないときにエラー(#CALC!)になります。FILTER関数を使えるExcelのバージョンは、FILTER 関数(Microsoft サポート)で確認できます。Excel 2019やExcel 2016など、FILTER関数がないバージョンでは、名簿シートでオートフィルターを使い、E列を「未回答」で絞り込むと同じ相手を確認できます。

4. 名簿にない回答とIDの空欄を確かめる

回答済みシートのD1に「照合結果」と入力し、D2に次の数式を入力して、D7までコピーします。

=IF(C2="","ID未入力",IF(COUNTIF(名簿!$A$2:$A$8,C2)=0,"名簿にない",""))

名簿にないIDの回答や、IDが入っていない回答は、名簿側の数式では見つかりません。回答済みシート側でも確認しておくと、照合から漏れた回答に気づけます。

この例の結果

手順1〜4を入力すると、次の結果になります(2026年10月16日に、Microsoft 365のExcelで確認)。

名簿のID回答状況(E列)回答件数(F列)
V001回答あり2
V002未回答0
V003対象外0
V004回答あり1
V005回答あり1
V006未回答0
(空欄・架空G社)ID未入力(空欄)
  • 未回答者の一覧(H列)には、V002(架空B社)とV006(架空F社)が表示されます。回答状況が「未回答」の行がなくなると、「未回答者なし」と表示されます。ただし、「ID未入力」の行や名簿にない回答は別に確認してください。この表示だけで、対象者全員の回答を確認できたとは判断できません。
  • 回答済みシートのD列では、6行目のV009が「名簿にない」、7行目が「ID未入力」と表示されます。
  • 4行目の「v005」は、名簿の「V005」と一致しました。COUNTIF関数は、この照合で大文字と小文字を区別しませんでした。
  • 手順1の照合用IDを使わず、A列のまま照合すると、「V004 」は名簿の「V004」と一致せず、未回答と表示されました。

名簿や回答済みリストに行を追加したときは、数式の範囲($C$2:$C$7、$A$2:$A$8、A2:B8、E2:E8)も追加した行まで広げ、数式を新しい行にもコピーします。

照合でつまずく点と確かめ方

つまずく点起きること確かめ方・対処
IDの前後のスペース一致せず「未回答」と表示される照合用IDの列でTRIM関数を使う。名簿側のIDにも余分なスペースがないか確かめる
全角と半角の違い(「V002」と「V002」)一致しない(検証で確認)照合する前に、両方のIDの表記をそろえる。ASC関数で半角にそろえると一致した(検証環境で確認)
大文字・小文字の違いこの照合では一致する大文字と小文字を別のIDとして扱う運用の場合は、別の照合方法が必要
重複した回答回答件数が2件以上になる件数が2件以上の相手は、内容と回答日時を確認し、どの回答を採用するかを決める
名簿にない回答名簿側の集計に表れない回答済みシートの照合結果で「名簿にない」を確認する
IDの空欄照合できない「ID未入力」と表示された行の相手を、会社名やメールアドレスで確かめてIDを入れる
氏名や会社名で照合している同姓同名、「株式会社」の有無、スペースの違いで一致しない社員番号、取引先コード、メールアドレスなど、重複しにくい値をIDにする
IDに「*」「?」が含まれるCOUNTIF関数では、これらがワイルドカード(任意の文字)として扱われるIDにこれらの文字を使わない

回答済みリスト側だけを補正しても、名簿側のIDに違いがあれば一致しません。照合がうまくいかないときは、両方のIDの書き方を確かめます。なお、Microsoftの説明では、TRIM関数は改行しないスペース(Webページからコピーした文字に含まれることがある)を単独では取り除きません。

回答の有無と、内容の確認を分ける

数式で分かるのは「回答が届いたかどうか」までです。回答の内容を確認し終えたかどうかは、別の列で管理します。

回答者ID回答状況(数式)確認の状況(手入力)対象外の理由
V001回答あり確認済み(採用する回答:10/5)
V002未回答—
V003対象外—契約終了
V005回答あり確認待ち

対象外の相手を「未回答」のまま残すと、催促する必要のない相手まで数えてしまいます。対象から外した理由も残しておくと、後から一覧を見た人が判断できます。

Excelで十分な範囲

依頼先が少なく、照合が一度きり、または年に数回であれば、この記事の数式で十分に管理できます。

ただし、数式が見ているのは回答済みリストに入力された内容です。回答がメールで届く運用では、届いた回答を誰かが回答済みリストに入力するまで、数式上は「未回答」のままです。リストの更新が遅れた状態で催促すると、すでに回答した相手にも連絡してしまいます。また、Excelとメールでは、相手が回答の途中なのか、まだ手を付けていないのかは分かりません。

未回答者を出した後の催促の進め方は、委託先からセキュリティチェックシートが返ってこないときで紹介しています。依頼前の準備から回収後の確認までの全体の流れは、チェックシートの回収管理で扱っています。

名簿と回答の照合を繰り返す場合

同じ名簿で、回答済みリストの更新と照合を毎月・毎年のように繰り返している場合は、依頼した相手と回答の状況を同じ画面で確認できるツールを使う方法もあります。マモリスでは、依頼した相手ごとの回答状況を一覧で確認でき、回答者はログイン不要・無料で回答できます。

  1. 無料登録し、いま回答を集めているチェックシートと同じ内容のチェックシートを1つ作る
  2. 名簿の中から2〜3人を回答者として登録し、回答を依頼する。人数が多い場合は、CSVインポートで回答者を登録できる
  3. チェックシート詳細の回答一覧で、ステータスを確認する。まだ回答を始めていない相手は「回答前」、下書きを保存して途中まで進めている相手は「回答中」と表示されるため、両方を確認して未提出の相手を見落とさないようにする。内容に不備があって差し戻した相手は、初回の回答がまだ届いていない相手とは分けて管理する
  4. 届いた回答を開いて内容を確認し、問題がなければ「チェック完了」で確認済みにする

マモリスは、Excelやメールでやり取りされていた
チェックシートの登録、配布、回収、管理を
すべてオンラインで完結させるクラウドサービスです

よくある質問

Q1. Excelで未回答者を出すなら、どの関数が分かりやすいですか?

名簿側に回答の有無を表示するなら、COUNTIF関数を使う方法が分かりやすいです。回答済みリストに同じIDが何件あるかを数え、0件なら「未回答」と表示します。未回答者だけを別の一覧にしたい場合は、FILTER関数を組み合わせます。

Q2. 氏名で照合しても問題ありませんか?

氏名だけでの照合は避けたほうが安全です。同姓同名や表記の違いがあるため、社員番号、取引先コード、メールアドレスなど、重複しにくい値をIDとして使います。

Q3. Googleスプレッドシートでも同じ方法を使えますか?

COUNTIFやFILTERを使って同じ考え方で照合できます。ただし、GoogleスプレッドシートのFILTER関数には、該当する行がないときに表示する文字を指定する引数がなく、該当がない場合は#N/Aが返されます。

Q4. FILTER関数がないExcelでは、どうすればよいですか?

名簿シートでオートフィルターを使い、回答状況の列を「未回答」で絞り込みます。手順1と2の数式は、FILTER関数がないバージョンでも同じように使えます。

Q5. Excelだけで「回答中」と「まだ手を付けていない」を分けられますか?

ファイルをメールで配って回収する方法では、回答が届く前の進み具合を依頼する側から知ることはできません。途中の状態まで把握したい場合は、回答画面と管理画面がつながっている仕組みが必要です。

参考情報

本記事は、以下の情報をもとに作成しています(2026年10月16日確認)。

この記事の執筆者

マモリス

マモリス編集部

セキュリティチェックや委託先管理、品質・安全管理など、現場のチェック業務に役立つ情報を発信しています。

上部へスクロール