• ベストアンサー

EXCEL:文字列と数字で始まる部分を区切るには?

住所録のようなデータを文字列と数字で始まる部分で分けたいと思い、ネットで調べたところ以下の回答が得られました。 問題:現在市過去区未来1-2-3 を 「現在市過去区未来」と「1-2-3」に分ける 回答:セルA1に上記問題の住所が入っていると仮定し、 ・セルB1に =left(A1,min(find({0,1,2,3,4,5,6,7,8,9},asc(A1)&1234567890)-1)) ・セルC1に =right(A1,len(A1)-len(B1)) をそれぞれ入力する。 ---------- 上記でひとまず解決できました...が、住所によくあるアパート名などがついた場合 ex.) 現在市過去区未来1-2-3エクセル荘101号 はどのようにすれば 「現在市過去区未来」と「1-2-3」と「エクセル荘~(部屋番号は分割できなくても構いません)」に分割できるでしょうか?

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

  • ベストアンサー
  • maruru01
  • ベストアンサー率51% (1179/2272)
回答No.2

こんにちは。maruru01です。 前提条件として、番地の書式が、 「1-2-3」 のように、数字と「-」だけで構成されているとします。 (つまり、「1丁目2番地3」とかはダメ) このような場合は、以下のような数式で出来ます。 B1は元のまま C1は、 =MID(A1,LEN(B1)+1,MIN(IF(ISERROR(-MID(SUBSTITUTE(ASC(A1),"-",0),ROW($A$1:INDEX(A:A,LEN(A1)))+LEN(B1),1)),ROW($A$1:INDEX(A:A,LEN(A1)))))-1) と入力して、[Ctrl]+[Shift]+[Enter]で確定します。 (数式の両端に「{}」が付いて、配列数式になります。) D1は、 =MID(A1,LEN(B1)+LEN(C1)+1,LEN(A1)) と入力して、普通に[Enter]で確定します。

mikiko178
質問者

お礼

おー!!!すごいすごいすごいです!!! できました!モーレツに感動してます! 大概のことはこの人の手にかかったらできるという同僚が「お手上げ」していたので半ばダメもとでここで質問してみたんですが... 私はそんなにスキルがないので、とりあえずこれから頑張って解析してみることにします。 幸いにも番地表記は殆ど問題ないデータでもあり、これで飛躍的に作業効率がアップします。 本当にありがとうございました。

その他の回答 (1)

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

間に区切り文字(スペースやカンマ)があれば それをFIND関数で検索して区切れます。 ない場合は無理だと思います。

mikiko178
質問者

お礼

早速の回答ありがとうございます。 私も仰るとおりだと思いました。 ただ、扱うデータの件数が膨大だったり、構成が複雑だったりして、区切り文字を入れるのもちょっと面倒だったのと、「まずは関数で何とかできないか?」というのが前提にあったもので... 回答いただきありがとうございました。

関連するQ&A