研修やイベントのあと、「申し込んだのに来なかった人は誰?」を申込名簿と受付名簿を見比べて探す作業、地味に大変ですよね。目で追っていくと、どうしても見落としが出てしまいます(>_<)
結論から書くと、両方の名簿に空白をぜんぶ消した「照合用」の列を作って、この式で比べれば一発です!
照合用の列: =SUBSTITUTE(SUBSTITUTE(氏名," ","")," ","")
来なかった人: =FILTER(申込[氏名],ISNA(XMATCH(申込[照合用],参加[照合用])),"全員参加")
「照合用の列なんて作らなくても、名前をそのまま比べればいいのでは?」と思いますよね。でも実際にやってみると、空白の入れ方が違うだけの人まで「来なかった」と出てしまいました。
さらに試していくと、関数によって全角・半角の扱いが違うこともわかったので、その一覧表も載せています💡
🎬 実際の Excel 画面で、2つの名簿を照らし合わせている動画もあります(4分くらい)。関数ごとの違いの一覧も映しているので、こちらからどうぞ♪
照らし合わせる2つの名簿
申込はフォームから集めたので、姓と名の間はすべて半角の空白です。一方、当日の受付は手入力なので、空白がなかったり、全角だったり、後ろに入っていたりとバラバラです。


本当に来なかったのは遠藤さんと小林さんの2人、申込なしで来たのは中村さん1人です。
名前をそのまま比べると、来た人まで「来なかった」ことに
まずは氏名をそのまま比べてみました。COUNTIF を使う式と、XMATCH を使う式の2通りです。
=FILTER(申込[氏名],COUNTIF(参加[氏名],申込[氏名])=0,"なし")
=FILTER(申込[氏名],ISNA(XMATCH(申込[氏名],参加[氏名])),"なし")

本当は2人なのに、COUNTIF では6人、XMATCH では5人も出てきてしまいました(^^;
どちらも、空白がない「青木一郎」「加藤由美」と、後ろに空白がある「斎藤 学 」を別人と判断しています。さらに COUNTIF は、全角の空白の「石井 花子」まで別人扱いでした。同じ名簿なのに、使う関数で結果が変わるということなんです。
関数によって「同じ」の基準が違う!一覧表
そこで、よく使う比べ方を並べて、2つの文字が「同じ」と判断されるかを1つずつ試してみました。○は同じと見なした(見つかった)、×は別のものと見なした(見つからなかった)です。
| 比べた2つ | = | EXACT | COUNTIF | VLOOKUP MATCH | XLOOKUP XMATCH | UNIQUE |
|---|---|---|---|---|---|---|
| ABC / abc(大文字・小文字) | ○ | × | ○ | ○ | ○ | ○ |
| B-301 / B-301(英字の全角・半角) | × | × | × | × | ○ | ○ |
| カトウ / カトウ(カタカナの全角・半角) | × | × | × | × | ○ | ○ |
| 石井 花子 / 石井 花子(空白の全角・半角) | × | × | × | × | ○ | ○ |
| 斎藤 学 / 斎藤 学 (後ろの空白) | × | × | × | × | × | × |
XLOOKUP・XMATCH・UNIQUE は全角と半角の違いを同じものとして扱い、VLOOKUP・MATCH・COUNTIF・「=」は区別しました。一方で、空白が「あるか、ないか」の違いは、どの関数でも別のものになりました。
手順1:両方の名簿に「照合用」の列を足す
両方の名簿をテーブル(Ctrl + T)にして、名前を「申込」「参加」にしておきます。それぞれの右に「照合用」という列を足して、この式を入れます。テーブルなので、1行目に入れれば下の行にも自動で入りますよ♪
=SUBSTITUTE(SUBSTITUTE([@氏名]," ","")," ","")

内側の SUBSTITUTE で半角の空白を、外側で全角の空白を消しています。" " の中は全角の空白です。
手順2:片方にしかいない人を出す
来なかった人: =FILTER(申込[氏名],ISNA(XMATCH(申込[照合用],参加[照合用])),"全員参加")
申込なしで来た人: =FILTER(参加[氏名],ISNA(XMATCH(参加[照合用],申込[照合用])),"なし")

今度はちゃんと、遠藤さん・小林さんの2人と、中村さんの1人だけが出てきました🙌
XMATCH(申込[照合用],参加[照合用]):申込の1人ずつについて、参加の名簿の何番目にいるかを探す。いなければ #N/AISNA(…):#N/A(=見つからなかった)なら TRUEFILTER(申込[氏名],…):TRUE の人の、元の氏名だけを並べる
照合用の列を増やしたくない場合は、LET を使って1つの式にまとめても、同じ2人が出ました。
=LET(a,申込[氏名],b,参加[氏名],
ka,SUBSTITUTE(SUBSTITUTE(a," ","")," ",""),
kb,SUBSTITUTE(SUBSTITUTE(b," ","")," ",""),
FILTER(a,ISNA(XMATCH(ka,kb)),"全員参加"))
名簿の横に「参加・未参加」を出して、色も付ける
一覧を別に出すより、申込の名簿に印を付けたいときは、申込の表に「出欠」の列を足してこの式を入れます。
=IF(COUNTIF(参加[照合用],[@照合用])=0,"未参加","参加")
さらに、申込の表(A2:D11)を選んで「ホーム」→「条件付き書式」→「新しいルール」→「数式を使用して、書式設定するセルを決定」を選び、=$D2="未参加" と入れて塗りつぶしの色を決めると、未参加の人の行に色が付きました✨

同じ人が2回受付されていないかもチェック
受付で同じ人を2回入力してしまっても、上の式では「参加」と出るだけなので気づけません。サンプルで「上田健」をもう1行足してみましたが、出欠は「参加」のままでした。
重複は、参加の表の横にこの式を入れると見つけられました。
=UNIQUE(FILTER(参加[照合用],COUNTIF(参加[照合用],参加[照合用])>1,"なし"))
「上田健」が表示されました。重複がなければ「なし」と出ます✅
サンプルファイルはこちら
「申込」「参加」シートは照合用・出欠の列と色付けを入れた状態、「照合」シートには、来なかった人・申込なしで来た人を出す式が入っています。氏名はすべて架空です。
マクロは入っていません。ダウンロードしたファイルが「保護ビュー」で開いたら、「編集を有効にする」を押すと式が動きます。
名簿の見比べ、これで目が疲れずにすみますように(*^^*)
この記事の式は、Microsoft 365 の Excel(ビルド 16.0.20527.20150、Windows 11)で、2026年11月8日にすべて試しました。
名簿の照合や出欠の集計を、ボタン1つで終わるようにしたい場合は、ココナラで Excel の自動化のご依頼も受けています。

