Excel住所録の一まとめ方法とは?マクロの使い方や数式の教え方を教えてください

このQ&Aのポイント
  • Excel2007で複数の住所録を一まとめにする方法について教えてください。住所録は別々のエクセルファイルにあり、同じ構成になっています。連名や重複の削除などの処理が必要です。
  • マクロを使ってExcel2007で住所録を一まとめにする方法を教えてください。連名や重複の削除などの処理を行いたいです。
  • Excelの住所録を一まとめにする方法を教えてください。連名のある行や重複行の削除が必要です。マクロや数式の使い方を教えていただけますか?
回答を見る
  • ベストアンサー

Excelの住所録を一まとめにするには?マクロ?

Excel2007で住所録が2つあるのですが、これを一まとめにするにはどうすればいいのでしょうか? 同じ人の住所録は一つにしたいのです。 別々のエクセルファイルに住所録1と住所録2があり、それぞれのデータ形式は標準で、同じ構成になっています。 住所録は家族ごとにソートされており、1行につき1家族分の住所、氏名、他家族の名前が入っています。 1と2は同じ住所の同じ家族が複数あります。1と2はSheet1という名前のシートに住所録が有り、他にシートはありません。 A列:代表者カタカナで読み仮名(半角カタカナで姓と名の間に半角スペース有) B列:代表者姓半角カタカナ C列:代表者名半角カタカナ D列:代表者漢字氏名(姓と名の間に半角スペース有) E列:代表者漢字苗字 F列:代表者漢字名前 G・H・I・J列:連名(漢字名前) K列:郵便番号(半角数字、真ん中ハイフン有) L列:住所(数字はすべて半角) これを単純に重複の行を削除で削除できないのは連名があるからです。 (例えば、1住所録には1行に加藤家の父・母・息子があり、2住所録には1行に父・娘がある、など、連名のあるなし、被っている人、1と2の代表者も違う、などバラバラ) ・1を2にコピーして家族単位に住所でソート(1のデータを2のシートにコピペして家族単位でソートでも可) ・同じ行の中でFGHIJ列で同一名は削除 ・筆頭者が誰になるかは不定(オリジナルデータの名前の順による。) ・1に無い連名は2の連名欄G~Jに転記 ・1に全くない住所氏名は2に新しく行を追加してコピペ ・同一住所の筆頭者以外の行は削除 ということをしたいのですが、マクロを書いていただくか、数式を教えていただくか、やり方を教えていただけないでしょうか?(因みに、マクロはコピペで使うことはできても、自分では全く書けません) 因みに、住所録2と同じデータ(構成違い)の住所録3が別のエクセルファイルで有り、違いは3は連名無しで家族ごとにソートされておらず、1人1行で作られていて A列:カタカナで読み仮名(半角カタカナで姓と名の間に半角スペース有) B列:姓半角カタカナ C列:名半角カタカナ D列:漢字氏名(姓と名の間に半角スペース有) E列:漢字苗字 F列:漢字名前 G列:郵便番号(半角数字、真ん中ハイフン有) H列:住所(数字はすべて半角) となっています。 同じ結果(同じく1にひとまとめで一家族ごとに名簿をつくる)にできるのであれば、1に3を住所でソートでも構いません。 データは1と2と合わせると10000件近くある為、地道なやり方では間に合いません。 どうかご指導宜しくお願いします。

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

  • ベストアンサー
  • mshr1962
  • ベストアンサー率39% (7418/18948)
回答No.1

1と2をひとつのシートにまとめる 別シートにて「データ」「フィルタ」「フィルタオプションの設定」 抽出先を「指定範囲」にする。 「リスト範囲」にまとめた住所録のシートを範囲設定 「抽出範囲」に現在のシートのA1を指定 「重複するレコードは無視する」にチェック 「OK」で実行

redchiri
質問者

お礼

ご回答いただきありがとうございます。 お礼が遅くなってしまいすみません(会社でしかパソコンが使えなくて…) 教えていただいたやり方ですと、一家族ずつ(1行ずつ)しなければいけないような気がするのですが… 例えば、A家の花子さんが重複しているのでA家の花子さんだけ消したいけれど、B家にも花子さんがいると、B家の花子さんも消えてしまう…など。 私の解釈が間違っていたらすみません;; 1行単位で重複するレコードを消す、なんてことはできないんでしょうか…?

redchiri
質問者

補足

とってもわかりにくいこと書いてすみません。 単純に重複するレコードを削除すると、住所録1にはなくて住所録2にある連名が消えてしまうのではと思ったので… それから、こちらを実行いたしましたら 「このワークシートの数式に1つまたは複数の無効な参照が含まれています。有効なパス、ブック、範囲名およびセル参照が数式に含まれていることを確認してください。」 と出てしまいました。 ちなみに、すべてのセルはセルの書式設定で標準にしてあります。

その他の回答 (2)

  • mshr1962
  • ベストアンサー率39% (7418/18948)
回答No.3

No.1です。 >私の解釈が間違っていたらすみません;; >1行単位で重複するレコードを消す、なんてことはできないんでしょうか…? フィルタオプションの設定の重複はセル単位でなく行単位です。 リスト範囲に選んだすべての列が同じでない場合は消されませんし、 元のデータはそのまま(抽出先が選択範囲内の場合は行が非表示の状態)なので問題ありません。

redchiri
質問者

お礼

お礼が遅くなり申し訳ございません。 なるほど・・・ ありがとうございました! やってみます。

  • hideishi
  • ベストアンサー率55% (5/9)
回答No.2

マクロ作成してみました。 もしまだ解決していないようでしたら、自己責任にて、試してみてください。 下記URLにてダウンロードできます。 http://itvoyage.blog.shinobi.jp/ 1週間以内に削除しますので、ダウンロードする場合は、お早めに。

redchiri
質問者

お礼

お礼が遅くなってしまい申し訳ございません。 先ほど出社し、教えていただいたマクロを実行いたしました。 大変助かります。 ありがとうございました! 質問なのですが、Sheet2が最終的にまとめられたデータなのですよね? それから、重複の削除ですが、全列完全一致のものは削除したのですが、まだいくつか同じ住所のものが残っていました。 こちらを削除しようと思っており、Excel機能の「重複の削除」では、行番号が後ろのデータの方が削除されるのですが、つくっていただいたマクロでは、連名が多く入っている方が前の行になっているのでしょうか? (例えば、 1行目 G:花子、H:優子、I:太郎、J:次郎 8行目 G:花子、H:優子、I:空白、J:空白 という風に連名が全部入っている方が上になっていますか?) もしそうであれば、そのまま住所列で重複かどうか判別して削除したいと思っております。 もし、こうなっていないのであれば、このように行の並べ方を並び変えたいので、やり方を教えていただけないでしょうか? こんな素晴らしいマクロをつくっていただいたのに、あつかましくすみません。 宜しくお願いします。

関連するQ&A

  • Excelで複数行・複数セルの一括削除、マクロ?

    Excelで複数の行・複数のセルの一括削除、一括編集の方法を教えて下さい。住所録の連名づくりに困っています。 Microsoft Office Excel 2007ですでに作成された住所録を、筆ぐるめVer.15へ外部読み込みをして年賀状の宛て名をつくって印刷したいと考えています。 Excelのデータは一人一人1行ずつで作られている為、このまま筆ぐるめで住所録をつくると同じ住所の家族の年賀状が複数枚できてしまう(父に1枚・娘に1枚・母に1枚、という風に)ので、同じ住所の宛先には連名にして1枚で出したいので、連名列を作り代表者の行に一家族分の連名をまとめる作業で手こずっています。 同じ行に1家族分のアドレスが入るように(1行に、代表者漢字氏名・母の名前・子の名前・子の名前2・郵便番号・住所、のように)したかったので、 現在は=RIGHT(B1,3)で、B列にある漢字氏名の後ろから3文字だけをC列、D列、E列に一つずつずらした名前が記入されている状態で、表の形としては、 【1行目】 A列:ヤマダ タロウ/B列:山田 太郎/C: 良子/D:由美子/E:本 松/F:〒/G:住所 【2行目】 A列:ヤマダ リョウコ/B列:山田 良子/C:由美子/D:本 松/E:本 竹/F:〒/G:住所 【3行目】 A列:ヤマダ ユミコ/B列:山田 由美子/C:本 松/D:本 竹/E:本 梅/F:〒/G:住所 【4行目】 A列:ヤマモト マツ/B列:山本 松/C:本 竹/D:本 梅/E:本 桜/F:〒/G:住所 という風になっていて、以下のようにしたいのです。 【1行目】 A列:ヤマダ タロウ/B列:山田 太郎/C:良子/D:由美子/E:/F:〒/G:住所 【2行目】 A列:ヤマモト マツ/B列:山本 松/C:竹/D:梅/E:/桜F:〒/G:住所 ≪1≫連名にした家族の行は不要なので行自体を削除したい。 ≪2≫氏名の後ろから3文字をコピーしているので「 良子」のように半角スペースが入っているものや、「本 竹」のように1文字の名前のため苗字の一部まで入っているものは、その部分を削除して氏名のみにしたい。 ≪3≫1行目E列のように、別の家族の名前まで入ってしまっていたり、連名のいらない人の名前を削除したい。(家族によって、連名が3ついるところもあれば、2つでよかったり、全く連名不要の人もいるので…) これを地道に一つ一つセルを選択して削除していく以外に何か能率のいい方法はないでしょうか? 名簿が何千件とあるので一つずつこの作業をすると膨大な時間がかかる為、少しでも効率的な作業があれば教えていただきたいのです。 前回の質問で、親切な回答者様から「マクロを使えば」と言っていただきましたが、エクセルをそこそこしか使えない(単純な計算やグラフの作成程度)為、どのようにすれば良いかわかりません。 何かアドバイス、ご享受、していただければと思います。 どうか、宜しくお願いいたします。

  • 筆ぐるめ&Excelで同じ住所に連名で出すには?

    筆ぐるめ年賀状作成で同じ住所に1枚だけ出すには連名をExcelデータでどう作ればいいのでしょうか? Microsoft Office Excel 2007で作成された住所録を外部住所録データ読み込みで、筆ぐるめVer.15を使用して年賀状の宛て名をつくって印刷したいと考えています。 Excelのデータは一人一人1行ずつ住所・氏名・などが書かれている為、このまま筆ぐるめで住所録を外部データ取込でつくると、同じ住所の家族の年賀状が複数枚できてしまう(父に1枚・娘に1枚・母に1枚、という風に)ので、同じ住所の宛先には連名にして1枚で出したいのですが、その場合はどのようにExcelデータ、もしくは筆ぐるめ、を編集すればいいのでしょうか? 因みにExcelデータはA列にカナ氏名、B列に漢字氏名、C列に郵便番号、D列に住所 が記入されており、1行目は項目名(氏名・住所、など)、2行目以降にデータが記入されています。 住所のデータが6000件以上ある為、同じ苗字もたくさんあり、同じ住所を探すだけでも時間がかかるのですが、1行ずつ住所を調べていってExcelで新しい列を作って1行ずつ切り取り&貼り付け&行の削除の操作を繰り返すしかないのでしょうか? データ編集方法、効率の良い方法、をご存じの方は教えて下さい。 どうか宜しくお願いします。

  • Excelの住所録を「あいうえお」順にならべるには?

    Excelで住所録を編集しました。 名前が順不同になっているので 「あいうえお」順にしたいのですが出来ますか? 住所録にはB列にカタカナのふりがながとC列に漢字名付いています。 よろしくお願いします。

  • Excelで住所録を作る

    Excelで住所録を作っています。一つのセルに名前を入力したものを、姓と名で分けてとなりの列に表示させるには、どうしたら良いのでしょうか?手入力で分けるには、データが多すぎるので、関数が使えたらいいと思います。名前のデータから苗字だけを取り出す関数はありますか? 表 氏名     姓   名 山田太郎   山田  太郎 こんな感じの表を作りたいです。 Excel2002を使っています。 よろしくお願い致します。

  • Excel半角より前の文字のみ抽出…マクロ?

    Microsoft Excel2007で住所録を編集中です。 現在、B列に半角カタカナで氏名(苗字 名前 という形で苗字と名前の間に半角スペースが入っています)が何千行と記入されている状態です。 これを、空白(全く未記入)のA列に、苗字のみをコピー(切り取りではなくコピー)して貼りつけたいのですが、どうすれば良いでしょうか? A列:空欄 B列:ヤマダ タロウ ↓ A列:ヤマダ B列:ヤマダ タロウ としたいのです。 なぜこうしたいかと申しますと、住所が半角・全角バラバラに記入されて一人ずつ入っており、家族ごとにソートしたいためです。 優先順位をつけて昇順に並べ替えようと思っており、優先キー1:苗字、優先キー2:郵便番号、優先キー3:住所、にして、同じ住所を見つけやすくしたいのです。 同じ住所を見つけて、全て半角などにそろえようと思っております。 B列の苗字名前の間には必ず半角が入っています。 半角より前の文字のみ、抽出(というかコピー)のやり方を教えて下さい。 エクセルは、言われた通りに書式を打ち込んだり、簡単な計算をしたり、簡単なグラフをつくったりできるレベルで、マクロは記述していただいたものをコピー&ペーストで使うことができるくらいの、初心者レベルですが、そうか宜しくお願いします!

  • エクセル、関数でセル内の半角カタカナ漢字、を分けて他のセルへ表示する方法

    下記のようにA列の1つのセル内に、半角カタカナ漢字がつながって入力されてるデータがあります。これを関数でD列にカタカナ姓、E列にカタカナ名、F列に漢字姓、G列に漢字名と分解して表示させたいのですが、難しくできませんでした。どうかよろしくお願いします。      A 1 スズキ イチロウ鈴木 一郎 2 ヤマダ タロウ山田 太郎

  • こんなことエクセル関数でできますか?

    お世話になります。 エクセルの1列に日本人の氏名が約2000名分並んでいます。1セル1名なので例えばA1セル~A2000セルに2000名分の氏名が入力されているといった感じです。 氏名は全角漢字で姓と名の間に全角のスペースが入っています。 ここで、この2000名の中で同姓同名(漢字が全て同じ)を即座に知る方法を探しています。 例えば、山田 太郎がA1、A409、A1765にあり、佐藤 花子がA222、A288にある事実を簡単に知る方法を探しています。 エクセルの関数を使って出来ないでしょうか? (関数が入力された1列2000行に2000名の名前を貼り付けると、B1、B409、B1765に山田 太郎が返ってくるとか・・・。) 宜しくお願いいたします。

  • エクセル:同じ氏名が入力されたら忠告メッセージを出したい。

    お世話になります。 たとえば、A列の縦にずっと氏名を入力していくときに、間違えて同じ氏名を入力してしまったときに忠告メッセージを出すことはできますか? (1) できる場合、どのようにしたらできるのでしょうか? (2) さらに、間違って同じ氏名の方を入力してしまうにしても、姓と名の間にスペースを ・半角で入れたり ・全角で入れたり ・スペースがなかったり 入力担当者(5人ほど)に統一させることができません。そこで、入力担当者にそれができないのならシステムでカバーしたいのです。姓と名の間にスペースがあろうがなかろうが半角であろうが全角であろうが、漢字だけで同一人物と認識させた上で(1)のようなメッセージをだすことは可能でしょうか? VBA(イベント)でできますか? 初心者であるため、わかりやすく教えてくださるなら幸いです。 よろしくお願いします。

  • EXCELのマクロについて

    EXCELのマクロについて質問させてください。 一覧シートから、職種別の各シートへ集計(貼り付け)が出来るような プログラムを作成したいのでやってみたところ、私の知識では上手く出来ませんでした。 お力をお借り出来ると幸いです。 具体的には、一覧シートへ入力後(毎月入力) 『A』 『B』 『E』と分かれた職種別の各シートへ職種別かつ氏名の昇順でソートが掛かった状態で 貼り付け?集計?が出来るようにしたいです。 一覧シートのB列には「A・B・E」のどれかの職種が入力されており 氏名はD列E列へ記載しています。(漢字、カナ表示) A~AD列までデータを記入していますので、全て各シートへ集計出来ると嬉しいのですが・・・ 行は8行目から記載してます。 上記のようにプログラムを組む事は可能でしょうか。 具体的なプログラムも載せて頂けると嬉しいです。 宜しくお願い致します。

  • エクセル2003でセルの検索・抽出について

    A列に漢字・ひらがな・カタカナ・半角英数字・半角カナが入り混じった文字列が入力されていまして、 漢字・カタナカ・ひらがな・半角カナを含むセルのみ簡単に見つけたいのですが、どうしたらいいでしょうか?        A列        B列 1行目 123あ456a       ○ 2行目 123456AB       × 3行目 123亜456a       ○ 4行目 123ア456A       ○ 5行目 ABCD567        × 上記の例でいくと、2&5行目以外を抽出して、分かりやすく見つけたいのです。 たとえば2&5行目以外のセルに色をつけるとか、B列に○または×を入れるとかでかまいません。 逆に2&5行目に色をつける、でもOKです! どうぞよろしくお願いいたします。

専門家に質問してみよう