• 締切済み

Excelで住所録を地域ごとに振り分けたい

Excelで、住所録を元に地域ごとの振分けをしたいと考えています。 1.ここにいろんな地域のExcelデータの住所録があります。 2.まず事前にa.千代田区、中央区 b.品川区、港区、目黒区 c.横浜市、 d福島県郡山市、などの振分け規則表を作っておく。 次にExcelデータの住所録と先ほどの表を照らし合わせて、a地域、b地域、c地域、d地域、という様に別々のファイルに振り分けたいのです。 アドバイスよろしくお願いします。

みんなの回答

noname#96703
noname#96703
回答No.6

今コピーして試してみましたけど、うまくいってますねぇ・・・ なんでだろ? 作ったヒトから注意いくつかです。 一応Windows XPで動作確認とれています。 ・1と2を同じファイル名にしていませんか?  別名じゃないとうまいこと動かないです ・フォルダ指定はできないです  絶対パスにしろ相対パスにしろ、かならず同じフォルダにつのファイルがある状態で開始、同じフォルダに3つめのファイルができます ・拡張子も書いてください・・・  (拡張子不要に作れば良かったなぁと今更後悔)

gidekichi
質問者

お礼

いろいろやってみましたが、結果が変わらないのでもう一度教えてください。当方が理解した使い方は以下の通りです。 ------------- 1.振分け元ファイル、というのは用意してある住所録と理解しています。 (例)住所.csv A(住所) B(名前) C(年齢) 東京都千代田区1-2-3.... 山田太郎 15 東京都千代田区4-5-6.... 田中一郎 16 神奈川県横浜市7-8-9.... 飛鳥エイジ 17 2.振分け先ファイル、というのは作業後作られるファイルの名前でしょうか 千代田区.csv 3.抽出する文字、を「千代田区」と入力する。 これで実行すると、初めの二行など、千代田区の住所のみが集まった千代田区.csvファイルが作られる。 ----------------------------------- 誤解がどこにあるでしょうか。教えてください。

全文を見る
すると、全ての回答が全文表示されます。
noname#96703
noname#96703
回答No.5

テストバッチ一応できたので試してみてください。 スペース区切り、カンマ区切りのCSVに対応しています。 バッチファイルなので拡張子は.batにしてくださいね 一応8列目(excelで言うH列)までの読み込みに対応しています。   %%A(略)%%H   %1(略)%8 の二つを書き換えれば、9列まで対応できます。 結果連絡お待ちしてます ===(ここから)=== @echo off rem 設定部分。キーボード入力により設定される echo このバッチはCSVファイルから特定行を抽出するスクリプトです。 echo このバッチファイルと同じフォルダに振り分け元CSVファイルを保存してください。 echo. echo [設定] echo. echo 設定を行います。 echo 1) 振り分け元ファイル名を拡張子も含めて入力してください set /P fromFile= echo 2) 振り分け先ファイル名を拡張子も含めて入力してください set /P toFile= echo 3) 抽出する文字を入力してください。 set /P words= rem 注意喚起 cls echo [注意] echo 1) 振り分け判断する列はA列に移動させてください。 echo. echo 準備は出来ましたか? pause rem 1行読み取り振り分け開始命令 for /F "delims=, " %%A IN (%fromFile%) DO (call :SUB %%A %%B %%C %%D %%E %%F %%G %%H) rem 3秒待って終了 echo 作業完了。 ping -n 4 -w 1000 127.0.0.1 > nul exit rem 振り分け判断部 :SUB if %1==%words% (echo %1,%2,%3,%4,%5,%6,%7,%8 >> %toFile%) ===(ここまで)===

gidekichi
質問者

お礼

こんなに丁寧な回答を本当にありがとうございます!! 取り急ぎ現状報告です。 1.頂いたプログラムを「メモ帳」でfuriwake.batと保存しました。 2.csvファイルと同じフォルダに入れてfuriwake.batを実行。 3.dos窓が開かれて、問われる条件にしたがって入力しました。 4.「作業完了」の表示。 しかし、新しいファイルがみあたりません。こちらのcsvファイルの作り方にどこか問題があるのでしょうか? A列に住所が来るように並べ替えみたりしていますが、試行錯誤中です。でもありがとうございます。

全文を見る
すると、全ての回答が全文表示されます。
  • hallo-2007
  • ベストアンサー率41% (888/2115)
回答No.4

>160ほどのエリアに振り分けたい VBAの力を借りるしかないでしょう。 とりあえず、別シートのA列に160ほどのエリアが入っているとして 1、マクロの記録   1、オートフィルター オプション 千代田区 を含む   2、行を選択、コピィ   3、新しいブックにコピィ   4、名前をつけて保存   を実行 2、マクロの記録の終了 3、VBエディターで記録した内容を編集 Sub Macro1() GYOU = 2 Do While Sheets("Sheet1").Cells(GYOU, 1) <> "" 'マクロで記録された内容 ' Selection.AutoFilter Field:=1, Criteria1:=Cells(GYOU, 1).Value 'マクロで記録された内容に上の行に似た部分あると思います。  '最後の部分でCriteria1:="千代田区" となっている部分を '      Criteria1:=Cells(GYOU, 1).Value に変更しておきます。 GYOU = GYOU + 1 Loop End Sub こんな感じではいかがでしょうか?

gidekichi
質問者

お礼

回答有難うございます。 アドバイスいただいた内容に基づいてVBAについて調べてみます。 当方、恥ずかしながらVBA、マクロなどこれまで使ったことがありませんので良く分らないのですが、これを機会に少し調べて身につけたいと思います。 ExcelのヘルプでVBAの項目から調べていこうと思います。取り急ぎお礼のみ申し上げます。有難うございました。

全文を見る
すると、全ての回答が全文表示されます。
noname#96703
noname#96703
回答No.3

自動で別ファイルにするのは・・・VBAとかcsv+bat編集とか、手段はともかく別にスクリプトが必要ですね vlookupも、キーとなる地域行に重複があると見込まれるのでアウト。 # vlookup、hlookupはキー(検索値)が重複しないことが前提です csv+batなら構想はありますけど、そのExcelをcsvに変換して加工するのは可ですか? VBは・・・ちょっと詳しくないのでごめんなさい

gidekichi
質問者

お礼

回答有難うございます。 vlookup/hlookupではアウトとのこと。 一つ勉強になりました。 csv変換でも別にぜんぜんかまいません。お手数かけますが、もしもさらにアドバイスいただけるなら非常に助かります。

全文を見る
すると、全ての回答が全文表示されます。
noname#96703
noname#96703
回答No.2

別ファイルに全自動で振り分けなければなりませんか? その辺ある程度手作業でもかまわないのであれば、オートフィルタ機能をお勧めします。 1行目は各データの項目、A列に地域が記載されていると仮定します。 1)1行目を選択、データ→フィルタ→オートフィルタ 2)A1 右のほうに現れた▼をクリックし、オプションを選択 3)抽出条件を入力。 4)抽出したデータをコピーし、別ファイルに貼り付ける その辺も全部自動でやらせたいんだ! であれば・・・ちょっと考えます。

gidekichi
質問者

補足

さっそくの回答ありがとうございます。 お察しのとおり、全自動で出来れば理想的です。 実は日本全国の一万件以上の住所録を160ほどのエリアに振り分けたいのでちょっと手作業ではしんどいのです。 とりあえずそれぞれのエリアごとに市町村名を表にすることは手作業で表にしていますが、そこから先がどうも進まないのです。 本などでvlookup関数というのも調べてみましたがどうもうまくいかなくて相談しました。 ひとつのエリアに複数の市町村があるというのもめんどいのです。

全文を見る
すると、全ての回答が全文表示されます。
  • hallo-2007
  • ベストアンサー率41% (888/2115)
回答No.1

1回きりの作業なら 1、オートフィルター オプション 千代田区 を含む 2、行を選択、コピィ 3、新しいブックにコピィ 4、名前をつけて保存 を繰り返します。 *大津市と津市などの時は区分けには注意してください。

gidekichi
質問者

補足

回答ありがとうございます。 分量がちょっと多いので、何とか自動で作業してくれる方法はないかとあれこれ本を見たり検索したりしています。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • エクセルで住所録を分類する方法は

    いつもお世話になっています。(エクセルは2002です)   A     B       C   D   E 1 郵便番号  住所      氏名  地区  備考 2 100   A県B市C町  C氏  E   G 3 100   A県B市D町  C氏  E   G 4 200   B県      D氏  F   H 上記のような表(シート1)があります。 シート2にA県、シート3にA県以外を郵便番号・住所・氏名・地区・備考を分けて、シート2の表をシート4にB市、シート5にB市以外に郵便番号・住所・氏名・地区・備考を分けて、シート4の表をシート6にC町、シート7にC町以外に郵便番号・住所・氏名・地区・備考を分ける方法を教えてください。 うまく説明できませんがよろしくお願いします

  • Excel関数について(住所仕分)

    Excel2010を使用しております。 A列に住所が5万件ほど入力されており、 この住所データを7分類に仕分けを行いたいのです。 例として、 世田谷区○○・目黒区・八王子市は「01」 渋谷区・港区・品川区・神奈川県は「02」 狛江市・町田市は「03」 調布市・府中市は「04」 世田谷区△△・練馬区は「05」 世田谷区□□・小金井市は「06」 その他の県は「07」 本当はもっと細かく分類(120程度)しているのですが、 「01」~「07」までを住所の隣にB列セルに返したいのです。 A列の住所内に「世田谷区○○」が入っている住所があれば、「01」と返し、 「世田谷区□□」とあれば「06」と返すような数式はございますでしょうか? 適した数式をご教示頂きたく、何卒宜しくお願い致します。

  • Excelの住所による並び替え

    Excel2010を使用しています。 A列 顧客名 B列 住所 C列 顧客履歴 のデータがあります。 C列の顧客データはA列の顧客に対して複数行あります。 このとき、住所のB列で地域ごとに並び替えをしたいと考えています。 住所は、○○県○○市○○町1-2-3のようになっています。 しかし住所登録によっては、 ○○県○○郡○○町1-2-3 ○○市○○町1-2-3 のように、入力した人や時期(市町村統合前の状態)によって形式が違います。 「○○町」の部分を使って並び替えをするために、ユーザー設定リストで、町名リストを北から南の町名順で作成してそれを使って並び替えをしてみましたが、上手く反映しません。 ユーザー設定リストの作り方や、マクロの組み方があれば教えていただけないでしょうか?

  • エクセルで住所録を作成中です。

    エクセルで住所録を作成中です。 B列に住所が入力されている場合に、その列に記載されている住所が”港区”ならC列に”甲”と表示し、”中野区”なら”乙”と表示するというふうに、住所の中に特定の文字列を含んでいれば、それに対応した特定の文字列を表示する方法を教えて下さい。 例)  A      B        C 鈴木一郎 東京都港区・・・   甲 田中太郎 東京都中野区・・・  乙 山田花子 東京都千代田区・・・ 丙

  • エクセル住所録の組み換え方

    『エクセル』の住所録に関する質問2件です。よろしくお願いいたします。 <質問1> 住所が市区町村から入力されている都道府県別の複数のシートにあります。市区町村のセルに都道府県を加えて、「○○県△△市××」というセルにし、複数のシートをひとつの表にまとめたいのですが、効率が良いやり方を教えてください。 <質問2> エクセル2行で1項目をあらわしている表があります。たとえば、A1=会員番号、A2=氏名、B1=電話番号、B2=住所、ということです。 これを、1行に置き換えたいのですが、良い方法をおしえてください。 A1=会員番号、B1=氏名、C1=電話番号、D1=住所、ということです。 異常、よろしくお願いします。

  • エクセルの関数について教えて下さい。

    エクセルの関数について教えて下さい。 以下のような対戦表があります。 行毎の対戦です。B,Cにはそれぞれのスコアが入ります。    A    B   C   D  1 田中          鈴木  2 目黒          井上 例えば次のように、それぞれの勝者をA3とD3に入るようにしたいのですが、どのようにすれば良いか分かりません。    A    B   C   D  1 田中  2   5   鈴木  2 目黒  4   1   井上  3 鈴木          目黒 どなたか、お分かりになりましたら教えて下さい。 よろしくお願いいたします。

  • Excelによる住所録作成について

    どなたか教えてください。いろいろと調べましたが分かりませんでした。 Sheet1(C列は空欄)・Sheet2を用意します。 Sheet1 B列の住所にSheet2の市名が含まれていた場合、C列に東部・西部・南部を返したいと思います。 どのような関数・やり方がありますでしょうか? ご教示願います。 Sheet1 A B     C  社名  住所    エリア 1 ○○(株) A県A市X町 東部 2 □□(株) A県E市Y町 西部 3 (有)△△ A県I市Z町 南部 4 (有)○○ A県B市J町 東部 Sheet2 A B C 1 東部 西部 南部   2 A市 E市 I市 3 B市 F市 J市 4 C市 G市 K市 5 D市 H市 L市

  • 【Excel】 住所の県、建物でセルを分けたい。

    こんにちは A1 に、東京都千代田区○○1-1○○荘203 という住所があります。 これを、 B1 に 東京都 C1 に 千代田区○○1-1 D1 に ○○荘203 と、分けたいのですが、B1、C1、D1は それぞれどのような式になるでしょうか。 なお、住所は都道府県表示が無い場合があります。 番地部分には、「丁目」「番地」などの文字はありません。 建物表示も無い場合があります。 Excel2007です。 よろしくお願いします。

  • エクセルで・・・。

        (1) A県B市D町2-15-3     (2) A県B郡1-2-3     (3) A県C市F町4-3-5 という住所のデータがあったとき(1)ならA県B市D町 と 2-15-3 (2)ならA県B郡 と 1-2-3 の間で分けたいんですけどどうすればいいでしょう? ※県郡市などに含まれる数字は漢数字、番地町名は必ず英数字になってます。 ※住所の長さはもちろんバラバラです。

  • エクセルで、抽出・表示に困ってます。(Q2092626の続き)

    エクセルで、シート1にグループ・担当者・担当地区のリストがあり、担当地区をクリック(もしくは、入力)する事で、該当する施設名が表示される方法は無いでしょうか? 例をあげさせていただくと、 ★シート1      A     B    C 1  グループ名  担当者  地区名 2  千代田A   山本   明治 3  千代田A   佐藤   大正 4  千代田A   山田   大正 ・    ・     ・    ・ ★シート2    A         B               C 1  施設名    住所               連絡先 2  A社     千代田市明治地区港町1-2    22-3344 3  B工場    千代田市大正地区殿町33     55-6789 ・   ・         ・               ・ 22 F会館    千代田市大正地区宮川町32    27-3469 ・   ・         ・               ・ 67 K商店    千代田市大正地区西町55     67-3146 ・   ・         ・               ・ 例えば、シート1の地区のC4セルをクリックする事で、 4  千代田A   山田   大正          B工場    千代田市大正地区殿町33     55-6789    F会館    千代田市大正地区宮川町32    27-3469    K商店    千代田市大正地区西町55     67-3146 例では、下に表示してしまいましたが、 このように、クリックの横に抽出・表示したいのですが、出来るでしょうか? もし、シート2の住所録を作成しない状態でも、可能な方法があれば、その方が、他のエクセルに慣れてないメンバーにも伝えやすいので、ご教授宜しくお願いします。

専門家に質問してみよう