• ベストアンサー

Excelでこんな作業できますか?

Excelを使ううちにVBAという高度な機能があることを知ったのですが、 VBAやマクロをつかって ファイルAとファイルBの内容を比べて、 重複する内容を取り除いてファイルCに出力する。 ということって可能でしょうか。 具体的に書くと ファイルAに「あ、い、う、え、お」 ファイルBに「あ、か、さ、た、な」 という風にフォーマットが決まっている書類があったとして、 これを、「あ(2件重複)、い、う、え、お、か、さ、た、な」というように 重複した「あ」を1つにまとめて何件重複したかを追記した ファイルCを出力したいのですが・・・。 アドバイスよろしくお願いします。

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

  • ベストアンサー
  • gadd3
  • ベストアンサー率46% (211/451)
回答No.2

>重複した「あ」を1つにまとめて何件重複したかを追記 データ(表)のレイアウトにもよりますが、 もしAもBもリスト型のデータ(リレーショナルデータベース的な表データ)なら、 VBAを使わなくても、 ・ピボットテーブル もしくは ・MicrosoftQuery(新しいデータベースクエリ) などでできます。 http://www.ie.reitaku-u.ac.jp/~ykago/lectures/db/odbc/odbc03.html 本当はVBAを使う前に、 ・ピボットテーブル もしくは ・MicrosoftQuery(新しいデータベースクエリ) にて、 データ管理の基礎(リレーショナルデータベースの基礎など)を 徹底的に覚えると、VBAだけを使うよりも その10倍以上の効率でデータ管理ができるようになります。 例えば、 重複調査+件数表示に、VBAや関数を使う必要がなく ドラッグだけか、簡単な命令語句だけで、 一発で(重複とその件数)の結果表示ができるようになります。 結果データの並べ替えも自由自在です。 もし ・ピボットテーブル もしくは ・MicrosoftQuery(新しいデータベースクエリ) で重複を調べない場合は、 ワークシート関数や自作関数などを使う方法が一般的だと思います。 ワークシート関数についてはGoogleで 「Excel 重複チェック」で検索してみるといっぱい出てきます。 http://plaza.rakuten.co.jp/pasodairy/diary/200411250000/ 検索範囲内に入力されている個数を求める http://allabout.co.jp/computer/msexcel/closeup/CU20071005A/index3.htm 自作関数での例 http://billyboy.blog81.fc2.com/blog-entry-133.html 色々とご自分でも試してみてください。

その他の回答 (2)

  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.3

こんばんは! 参考になるかどうか分かりませんが・・・ ↓の画像のように表を作ってみました。 まず、すべてのデータを一つのSheetにまとめます (方法として、年度の次の行から次の年度のデータをコピー&貼り付け) 作業列用としてA列を挿入し、 A2セル =COUNTIF($B$2:B2,B2) としてオートフィルマークの(+)でダブルクリック これで回数が表示されます。 (氏名のみでの検索ですので同姓同名の場合は考慮していません) 次にA列すべてをコピー → E1セルを選択 → 形式を選択して貼り付け →「値」にチェックを入れてOK その後、E列の降順で並べ替えをします。 最後にA列の数値が「2」以上のデータすべてを削除します。 A列すべてが「1」になった後に A列を削除 これで回数の多い順に重複なしで表示されると思います。 以上、参考になれば幸いですが、 的外れの回答なら読み流してくださいね。m(__)m

  • n-jun
  • ベストアンサー率33% (959/2873)
回答No.1

フォーマとが決まっている書類とは、シート上・ブック毎(?)にどのように データが配置されていて、それをどのように表示していくのか提示した方が 具体的な回答に結びつくかも知れません。

yosidakun
質問者

補足

回答ありがとうございます。 毎年いただいている年賀状の住所録を作ろうと思っているのですが、 2000年から2009年までの年ごとにExcelファイル (中身は共通して、氏名、住所、電話番号の順番) を作って、 最終的に全部のファイルをまとめて住所録を作るのと同時に ○○さんからは何回年賀状をいただいている。 というように重複をカウントしたファイルを出力したいと考えています。 説明がうまくなくて申し訳ないです。 アドバイスいただければと思います。

関連するQ&A

専門家に質問してみよう