• ベストアンサー

エクセルの1セル内の文字列操作。

以下のことができるかどうかということをお聞きしたいのですが。 ○○-○○××町△△市□□□県  (○は数字) と、住所が、番地から逆に並んで、1つのセル内に書かれているものを、 普通の順番に並べ替えたいのですが。 この作業をしなければいけないものがかなりの数あって、 できることなら、作った数式をコピーして、番地と町、市、県などに分けることができれば、まとめて並び替えれるのに・・・と思ったのですが・・・。 多分、都道府県だけでなく、市、区、郡、町、村、それらの付かない地名、建物名など、法則の無いものを分ける方法など無いだろうなあとは思うのですが、 最後の頼みの綱で、もし、なにかほんの少しでも良いアイデアがあれば・・、 ということで質問させていただきます。 すべて入力しなおすよりも少しでも楽な方法があれば、アイデアをいただきたいと思います。

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

  • ベストアンサー
  • g_dori
  • ベストアンサー率47% (330/699)
回答No.1

まだまだ方法があると思いますが、とりあえずこんな感じ如何でしょうか? 1:対象となるセルを全部テキストファイルにコピペ 2:○○-○○××町△△市□□□県   ■■-■■○町×市△県     ・・・      ↓   ○○-○○ ,(半角カンマ) ××町 ,(半角カンマ) △△市 ,(半角カンマ) □□□県   ■■-■■, ○町, ×市, △県     ・・・(以下同様に半角カンマを挿入) 3:このテキストファイルの拡張子を.CSVに変換   →エクセルで開けばセルが分かれている。 4:こいつをエクセルの元ファイルにコピペ、その後はご自由に・・・ 若干書式に問題が残るかもしれませんが、セルの修正をするよりは、テキストエディタでカンマを挿入するだけなので簡単ではないか?という観点から考えてみました。 上手くやればバッチファイルで処理可能かと。。。

fruit-gogo
質問者

お礼

回答ありがとうございます。 そうか!エクセルセル内でカンマや、空白を挿入するのは面倒だと思っていましたが、 おっしゃるとおり、まずテキストに貼り付ければ、ずっと楽になりますね。 この作業をするデータはまだ手元に無いのですが、取引先から、 これから、このような(国際規格?)の住所データが毎日100件くらいずつ 送られてきて、それで伝票を打たなくてはならないのです。 こういう形式で届きますが、良いですか?と打診があったので、 1回きりの100件でしたら、打ち直しても良いかと思ったのですが、 毎日続くということで、データが届く前に少し考えておこうと思ったのです。 とりあえず、打ち直すよりはずっと楽になりそうです。

fruit-gogo
質問者

補足

お礼と補足が逆になってしまいすみません。 結局、No.1の方と、NO.3の方のやり方をMIXしたやり方でしのぎました。 ほんとうにありがとうございました!!

その他の回答 (3)

  • maymi
  • ベストアンサー率46% (49/106)
回答No.4

並び替えたい対象ごとに半角カンマを入れて、「データの区切り位置」で 各セルに分けてしまうのが一番早いと思います。 やり方じたいはNo.3の方の通りですが、検索置換でカンマを挿入し 不足の部分だけ手力すれば、そこまで時間はかからないのでは? 例:10-1麻布十番東麻布港区東京都         ↓   10-1麻布十番,東麻布港区,東京都         ↓   10-1,麻布十番,東麻布,港区,東京都 メニューのデータ→区切り位置→カンマや。。。にチェック 次へ→区切り文字のカンマにチェック→次へ 「列のデータ形式」を任意のものに整え、完了 これで並び替えしやすいデータ列になります。 元データをどのように加工するかによって手間は違いますので、 頑張ってください

fruit-gogo
質問者

お礼

回答ありがとうございます。 規則性のある、しかも普通の順序に並んでいる住所なら、都道府県だけを 数式で分割させたりできるように、もしできれば、最初の数式を作るのが大変でも、 ずっと使えたらな~、と思ったのですがやっぱり無理ですね。 人間の目で見て、考えても、どこで分かれるのだろう?と思うことが多い”住所”というものなので、仕方ないですね。 励ましの言葉もいただき、本当にありがとうございます。

  • nishi6
  • ベストアンサー率67% (869/1280)
回答No.3

とりあえず、編集→置換で  『市』→『市,』、『区』→『区,』、『郡』→『郡,』、『町』→『町,』、『村』→『村,』 の置換え。  ↓ まずい箇所がないか検証(・・・町田市や市川市のような地名)  ↓ データ→区切り位置 の機能で分割  ↓ 逆順に文字列の結合(&を使って)  ↓ 必要なら値にする(形式を選択して貼り付け) 自分でやるなら、上のような手順かもしれません。考えないでどんどんやってしまいます。

fruit-gogo
質問者

お礼

回答ありがとうございます。 この作業をするデータはまだ手元に無いのですが、取引先から、 これから、このような(国際規格?)の住所データが毎日100件くらいずつ 送られてきて、それで伝票を打たなくてはならないのです。 こういう形式で届きますが、良いですか?と打診があったので、 1回きりの100件でしたら、打ち直しても良いかと思ったのですが、 毎日続くということで、データが届く前に少し考えておこうと思ったのです。 まだ、データを見る前に、心配しすぎてしまいましたかね? とりあえず、皆さんからいろいろなアイデアをいただいたので、 打ち直すよりはずっと楽にできそうです。

fruit-gogo
質問者

補足

お礼と補足が逆になってしまいすみません。 結局、No.1の方と、NO.3の方のやり方をMIXしたやり方でしのぎました。 ほんとうにありがとうございました!!

  • psss
  • ベストアンサー率28% (59/209)
回答No.2

 書式が決まっているかどうかで、かなり違うと思います。 書式が完全に決まっているなら、マクロで完全に変換出来ますが、そのあたりはどうなのでしょうか?  つまり、「県」や「市」「町」「村」「大字」「字」等は、省略されることなく入っているのでしょうか?  また、番号の部分も全部逆なのでしょうか? 正解)1-12-24 そのデータ)24-12-1  また、アパートやマンションの部屋番号などを数字だけで表す場合もありますが、その辺はどうなっているのでしょうか。  全てが一定の決まりで、きちんと入力されているなら、かなりラクが出来ると思いますが、データの量が百件程度なら、マクロを組む時間で終わってしまいそうですね。

fruit-gogo
質問者

お礼

回答、ありがとうございます。 この作業をするデータはまだ手元に無いのですが、取引先から、 これから、このような(国際規格?)の住所データが毎日100件くらいずつ 送られてきて、それで伝票を打たなくてはならないのです。 こういう形式で届きますが、良いですか?と打診があったので、 1回きりの100件でしたら、打ち直しても良いかと思ったのですが、 毎日続くということで、データが届く前に少し考えておこうと思ったのです。 私は、結構住所録などを入力する作業をすることがあるのですが、住所の規則の曖昧さを実感しているので、どうしよう・・・と思ったのです。 やはり、区切り位置は自分の目で見てつけるのが良さそうということですよね。

関連するQ&A