• 締切済み

エクセルで名簿の照らし合わせの仕方を教えてください

エクセルで作ってある 名簿の照らし合わせをやっているのですが じつは手作業なのです。 Aの表に載っている人が Bの表にも載っているという場合 の見つけ方を教えてください よろしくお願いします Aの表はイベント参加不適格者で1200人程があり Bの表はイベント参加申込者で16000人程です 参加不適格者が参加申し込みをしていた場合チケットを送らずに 今回は参加を見合わせてもらう趣旨の電話連絡をするための洗い出し 作業になります 表は右セルから番号/名前/住所/電話番号 の順で入っています 1200回の検索はきついです いっぺんにやる方法は無いでしょうか 困っています よろしくお願いします

みんなの回答

noname#79209
noname#79209
回答No.7

老婆心ながら... イベント参加不適格者の内容とイベント参加申込者の内容は同じなのでしょうか? 人間の目で見て同じと判断できても、 「山田 太郎」と「山田 太郎」(左は半角スペース、右は全角スペース)のように異なってしまうと計算式は別物と判断します。 入力する人が異なったりすると「スペースの全角、半角、数」、「ハイフンと長音」「住所などの分かち書きの区切り位置」などが微妙に異なることも有ります。 このように、双方のデータを整形し同一の書式や約束事に統一しないとかえって手間がかかってしまいます。

  • kigoshi
  • ベストアンサー率46% (120/260)
回答No.6

No.4です。 エクセル初心者の方だったんですね。 以下の手順通りやればできます。 もうちょっと頑張ってみましょう。 1)インターネットの画面(この画面)で   =SUBSTITUTE(SUBSTITUTE(A2," ","")," ","")   この式↑を直接マウスで選択し反転させ、[Ctrl]を押しながら[C]を押します。 2)エクセルに移って、A表のB2セルを選択し入れ[Ctrl]を押しながら[V]を押したあと   [Enter]を押します。 3)もう一度B2セルを選択し、[Ctrl]を押しながら[C]を押します。 4)B3セルを選択し[Shift]を押しながら[↓]を押し続け、A列に名前が無くなる行まで   選択します。 5)[Ctrl]を押しながら[V]を押します。   ※ここまででA表のB列に空白を削除したものが入ってくれるはずです。 6)B表でも同様に1)~5)を行います。 7)B表のC2セルに =IF(COUNTIF(A表!B:B,B2)>0,"▲","◎") を入れ[Enter]を押   します。 8)もう一度C2セルを選択し、[Ctrl]を押しながら[C]を押します。 9)C3セルを選択し[Shift]を押しながら[↓]を押し続け、A列に名前が無くなる行まで   選択します。 10)[Ctrl]を押しながら[V]を押します。   ※ここまでで不適格者には▲がついてくれています。以下、念のため式を値に置き換え    ます 11)B表で[Ctrl]を押しながら[A]を押します。 12)[Ctrl]を押しながら[C]を押します。 13)[編集]→[形式を選択して貼り付け]→[値(V)]にチェック→[OK] これで完了です。 お役に立ちますように。

  • zap35
  • ベストアンサー率44% (1383/3079)
回答No.5

#01です。 >照合に使用する値 とは今回の場合は「名前」に当たります =IF(COUNTIF(A表!A:A,A1)>0,"NG","OK") のA表!A:Aは名前がA表のA列にあることを意味します。B列にあるならA表!B:Bに変わります。 COUNTIF関数のヘルプを見ていただくと詳しいことが書いてありますよ

nanafusi
質問者

補足

わたしには凄く難しくて・・・ 表のレイアウトを仮にですが例として作りました A表(見合わせてもらう方・・不適格者)は2人として、このような表ので A  B 1 名前 空白 2入来 空白 3 安田 空白 B表(参加申込者)は6人として、このような表のもので A  B 1 名前 空白 2 甲斐 空白 3 高田 空白 4 入来 空白 5 陽方 空白 6 西川 空白 7河野 空白 という場合 B表のセルの列「B」をクリックして =IF(COUNTIF(A表!A:A,A2)>0,"NG","OK") を打ち込めば良いと言うことでしょうか やっては見たのですが エラーともいえない説明にならない吹き出しが出てきてしまいました あなたの説明ではなくわたしのやり方が違うのはわかっているのですが こちらの表をもとにして もう一度教えてください

  • kigoshi
  • ベストアンサー率46% (120/260)
回答No.4

No.2のご回答にもありますように、2つの表のレイアウトが不明なので直接的な回答ができないかとおもいます。 > 表は右セルから番号/名前/住所/電話番号 と書かれていますが、「左から」ではないのですね。 A列:電話番号 B列:住所 C列:名前 D列:番号 ということでよろしいでしょうか。 もし違うのでしたら、具体的なレイアウトを書き込まれると、具体的な式を教えてもらえると思います。 また、2つの表とも同じレイアウトなのかどうかも補足した方がよろしいと思います。 名前が一致しているものを探したい(つまり「照合に使用する値」は名前)ということでよろしいでしょうか。 その場合2つの表で名前の表記は一致していると仮定して良いでしょうか。 姓と名の間の空白や漢字表記は統一されていることが前提となることを了解しておかないと漏れが生じる可能性があります。 具体的には「高沢 一郎」「高沢 一郎」「髙澤一郎」「高澤 一郎」は全て別名となってしまいます。 もし、漢字表記は大丈夫ということでしたら、姓と名の間および氏名前後の空白を削除(ツメ)することは可能です。 =SUBSTITUTE(SUBSTITUTE(A1," ","")," ","") 最低でもこの加工をいちど通してからNo.1~3のご回答にあるようなCOUNTIFを使用した検索をされた方がよいと思います。

nanafusi
質問者

補足

SUBSTITUTE とは文字列中の指定された文字をほかの文字に置き換える関数なのですね 確かに必要なことだと思います 全てのセルを指定してこれ =SUBSTITUTE(SUBSTITUTEA1," ","")," ","") を打ち込んでエンターを押せばよいのでしょうか やってみたのですが数式を計算できませんの吹き出しが出てしまいました あなたの説明ではなくわたしのやり方が違うのはわかっているのですが こちらの表をもとにして もう一度教えてください お願いします

  • suekun
  • ベストアンサー率25% (369/1454)
回答No.3

あちゃ・・・無視されちゃいましたね。^^; 1200件のデーターに対して、重複があればその電話番号とか 連絡先とかを拾ってくる数式なんですがね。 もう一度だけ説明して、それでも無視なら手を引きます。 元データー16000人分。 「シートB」     A   B   C   D 1   番号  名前  住所  電話 2   001  山田  東京  033-・・ ~~~~~~~~~~~~~~~ 16001 16000 斉藤  大阪  066- 不適合者 1200人分 「シートA」     A   B 1   名前 2   伊藤 3   鈴木 ~~~~~~~~~~~ 1201  山下 シートA B2セルに、 =IF(COUNTIF(SheetB!$B$2:$B$16001,A2),OFFSET(SheetB!$B$1,MATCH(A2,SheetB!$B$2:$B$16001,0)-1,2),"") これを1200件分、下にフィルコピーすれば、名前の横(B列)に 電話番号がでる仕組なのですけどね。 件数が多いので、少し重いかもしれませんが・・・

nanafusi
質問者

補足

すいません 無視していないです なかなかうまくいかなくて 明日日曜日に頑張ってみようと思っていたものですから すみません

  • suekun
  • ベストアンサー率25% (369/1454)
回答No.2

表の配置が見えないので、実際の状況に合わせて下さい。 =IF(COUNTIF(16千の名簿番号のある範囲,1.2千の名簿の番号のある範囲の一番上のセル),OFFSET(16千の名簿番号の一番上のセル,MATCH(1.2千の名簿の番号のある範囲の一番上のセル,16千の名簿番号のある範囲,0)-1,1),"") =IF(COUNTIF(A:A,C2),OFFSET($A$1,MATCH(C2,A:A,0)-1,1),"") この数式は、 1、16千の名簿範囲がA:Aとした場合で、尚且つ最初のセルがA1だった場合です。 2、1.2千の名簿番号の始まりがC2だった場合です。 3、範囲とOFFSETの基準セルは絶対参照です。 4、番号の右となりにある情報を返します。  (以外の電話番号とかが欲しければ、 OFFSET($A$1,MATCH(C2,A:A,0)-1,1),"") の -1,の後ろの1を 変更して下さい。

  • zap35
  • ベストアンサー率44% (1383/3079)
回答No.1

氏名で照合するのですか? それとも会員IDのようなものがあるのですか。 A表、B表共にA列に照合に使用する値があるとき、B表の空いている列に =IF(COUNTIF(A表!A:A,A1)>0,"NG","OK") を入力し下方向にコピーすれば照合できます。

nanafusi
質問者

補足

会員IDはまだ無いです 今後の課題となっています 「A表、B表共にA列に照合に使用する値があるとき、B表の空いている列に=IF(COUNTIF(A表!A:A,A1)>0,"NG","OK") ちょっと・・難しくて・・・ 「照合に使用する値」とは具体的にわかりやすい解釈ですとどんな意味でしょうか =IF(COUNTIF(A表!A:A,A1)>0,"NG","OK") を実行してみます すばやいご返答ありがとうございます

関連するQ&A