• ベストアンサー

複数シートの名簿から同じレコードに印をつける 

エクセル 2003または2007で作業したいです。 複数のシートに名簿があります。レコード項目は共通です。 画像のように毎年参加者の名簿があり、今年参加した方が過去いつ参加したかを、任意の列に「●」などを表記させる場合の数式を教えてほしいです。 検索させる項目は、「名前」と「電話番号」か「郵便番号」の2つで検索させたいです。 VBA?などの知識がないと無理でしょうか?わかる方ご教示ください。お願いします。

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

  • ベストアンサー
  • MackyNo1
  • ベストアンサー率53% (1521/2850)
回答No.2

画像が不鮮明でシート名が不明ですが、2009年のデータのシート名が2009と入力されていて、E1セルの項目名が「2009」のように記載されているなら(シート名と項目名が同じなら)、E2セルに以下の数式を入力して下方向及び右方向にオートフィルコピーしてください(A列とB列が一致するデータに●を付けています)。 =IF(COUNTIF(INDIRECT(E$1&"!A2:A100"),$A2)*COUNTIF(INDIRECT(E$1&"!B2:B100"),$B2),"●","")

mihako261821
質問者

お礼

すごいっす!! まさにこのようにしたかったのです。ありがとうございました!!

その他の回答 (1)

  • bunjii
  • ベストアンサー率43% (3589/8249)
回答No.1

>検索させる項目は、「名前」と「電話番号」か「郵便番号」の2つで検索させたいです。 全てのメンバーに電話番号が記録されていれば電話番号のみで検索すれが個人が特定できます。 「名前」=「姓名」のことであれば「名前」と「郵便番号」でも重複は避けられると思いますが絶対ではありません。 2つ以上の要件で検索する場合は関数式の中で配列の値を返すIF文を使うと分かり易いでしょう。 検出行番号=MIN(IF((氏名列=名前)*(電話番号列=電話番号),ROW(1:最大行番号,"")) 検出された行番号を利用してINDEX関数で必要な処理を行えます。 マスターになる名簿と毎回の参加者名簿が別シートのような印象なのでマスターになる名簿の処理も必要かと思います。 管理手法を決めてマスターになる名簿を作成してから再質問された方が良いと思います。