• ベストアンサー

複数シートの名簿から重複する氏名を探知する方法

お世話になります。 エクセルの操作方法を教えてください。 ここにとある名簿があるとします。4種類あります。 とりあえず、4種類の名簿をひとつのファイルにまとめます。 (シートは別々とします) さて、この4種類の名簿シートの中で、 4種類すべてに名前が登場する人物がいたら、それを特定したいと思います。 どんな方法を使えばいいでしょうか? 質問を簡単にするために、以下を定義します。 4種類の名簿は全部構成が同じものとします。 また氏名の入力も同じフォーマットであるとします。 具体的にいえばA列に 漢字姓(全角スペース)漢字名 が入っているとしましょう。 漢字姓(全角スペース)漢字名が完全一致するものだけを「一致」とします。 漢字の入力間違いや、全角スペースの入れ忘れによる部分一致は「一致」とはみなさないもの、とします。 作業のためにシートをコピーしたり、作業のために一時作業シートに4つの名簿を全部コピーするのはかまわないとします。 関数だけで実行する方法を教えてください。 よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • nattocurry
  • ベストアンサー率31% (587/1853)
回答No.1

1つのシートでは名前はユニーで、 4つのシート名が、Sheet1,Sheet2,Sheet3,Sheet4だとして、 Sheet1のB1に =COUNTIF(A:A,A1)+COUNTIF(Sheet2!A:A,A1)+COUNTIF(Sheet3!A:A,A1)+COUNTIF(Sheet4!A:A,A1) と記入して、下にコピペします。 計算結果が4になるものは、4シートすべてに同じ名前があります。

s_end
質問者

お礼

ありがとうございました。 やってみます。

その他の回答 (4)

  • sige1701
  • ベストアンサー率28% (74/260)
回答No.5

nattocurry さんの回答と同じことですが 1つのシートでは名前はユニークで、 4つのシート名が、Sheet1,Sheet2,Sheet3,Sheet4だとして、 Sheet1のB1に =COUNTIF(Sheet2!A:A,A1)+COUNTIF(Sheet3!A:A,A1)+COUNTIF(Sheet4!A:A,A1) 計算結果が3になるものは、4シートすべてに同じ名前があります 1つのシートに名前重複がある場合 Sheet1のB1に =(COUNTIF(Sheet2!A:A,A1)>0)+(COUNTIF(Sheet3!A:A,A1)>0)+(COUNTIF(Sheet4!A:A,A1)>0) 計算結果が3になるものは、4シートすべてに同じ名前があります

s_end
質問者

お礼

ありがとうございました。 やってみます。

  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.4

4つのシートの列並び(項目構成)が同じとする。 一番簡単なのは4つのシートの第2のシートのデータ部分(見出し項目見出しを除く)をコピーして、第1のシートのデータの下に貼り付ける。第3第4のシートも同じ用に下に貼り付ける。 名前の列で並びかえする。 すると同じ名前は近隣行に集る。 だからどの氏名がダブって居るか目視で判る。 ーー 統合されたシートが出来れば、COUNTIFで重複数を数えても良い。 例 A2以下 A列   B列 a 1 a 2 s b 1 f a 3 b 2 B列の式は =IF(COUNTIF(A:A,A2)>1,COUNTIF($A$2:A2,A2),"") ーー こういうのをすべてに渉ってスムーズに(自動で)やるにはVBAが出来ることが必要。 色々やり方の条件をつけているが、自分の力の限界を色々言っているだけでしょう。 関数などは出来ることは知れていることを知っておくこと。 またエクセルではブックを複数にするととたんに処理が面倒になることも考えて設計すること。

s_end
質問者

お礼

ありがとうございました。 VBAを使えば簡単ですね。 くるくる回せばいいだけで。 それをあえて関数でやる方法が知りたかっただけですよ。 まあ職人気質なプログラム習得者はExcelの関数を見下して何でもかんでもマクロ化、VBA化する傾向があるようですけどね。 (別に君の事をいってるわけじゃないよ) ベストアンサーに選んであげようか? 必要ない? 嫌味に聞こえたらごめんよ。

  • nattocurry
  • ベストアンサー率31% (587/1853)
回答No.3

何度もすみません。 記入する列は、B列じゃなくても、C列でもD列でもZ列でも構いません。

s_end
質問者

お礼

ありがとうございました。 やってみます。

  • nattocurry
  • ベストアンサー率31% (587/1853)
回答No.2

訂正です。 1つのシートでは名前はユニーで、 ↓ 1つのシートでは名前はユニークで、 の間違いでした。

s_end
質問者

お礼

ありがとうございました。 やってみます。