• ベストアンサー

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% (7418/18948)
回答No.1

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

mikiko178
質問者

お礼

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

関連するQ&A

  • Excel2000のセル内の文字列の数字の先の2桁を取り出す方法について

    年のいった初心者です。 以前の質問に対する回答有難うございます。また、教えてください。  エクセル2000です。セル内に数字の文字列で、4桁、6桁、8桁のものが有ります。4桁のものには"01"を、6桁のものには"60"を、表示し、8桁のものには数種類あり、8桁の場合は、各文字列で上位の2桁を表示したいのです。 =IF(LEN(A1)=4,"01",IF(LEN(A1)=6,"60",IF(LEN(A1)=8,?????? 4桁、6桁については以前に教えていただいた、関数等でいけたのですが、8桁のときが分かりません。困っています。お願いします。     A列    B列 1 7532 →→ 01 2 280573 →→ 60 3 34964821 →→ 34 4 06839775 →→ 06 5 67500023 →→ 67

  • VBA(Excel)での文字列抜き出し方法について

    質問させていただきます。 現在作成しているエクセルのシートのB列に○○市○○町○○ー○などの住所が入っているデータがあります。 そのB列のデータから、○○市の部分だけを判別し、 ○○市ならA列に1というデータを入れ △△市ならA列に2というデータを入れる と言ったようなマクロを作ろうと思っています。 現状、文字列を抜き出すところまでは分かったのですが、 市の名前が2文字だったり、3文字だったりとバラバラなので、 非常に困っています。 詳しい方いらっしゃいましたら、教えていただけると助かります。 よろしくお願いいたします。

  • Excel2000のセルの内容について

    環境:Win2000sp2, Excel2000 Excel2000である集計を行っていますが、以下の問題でつまづいています。 どなたかわかる方、回答をよろしくお願いします。 詳細が不明な場合は、これが正常かどうか程度でもいいので、お願いします。 セルの書式設定-表示形式は、標準です。 セル:内容 ○パターンA A1:=1.1-1 A2:=Len(A1) だと、3が返ります。 数式の編集でA1の中身を見ると0.1が入っています。 しかし、 ○パターンB B1:=26.4-26.3 B2:=Len(B1) だと、18が返ってきます。 数式の編集でB1の中身を見ると0.09999999999999と入っています。

  • EXCEL:あるセルの内容により文字列をカウントする

    EXCELでセルB1からB4 に 1EFG 2AAAG 3EFGHC 4TFGFG と入っているとします。またA1にはFGと今入っているとします。 B5に FGを含んでいるセルがいくつあるかをカウントした数を表示するため はB5に式=COUNTIF(B1:B4、”*FG*”)と書けば3とカウントできますがA1セルに入っている文字列を含むセルがB1からB5にいくつあるかというのは、どう書けばいいのでしょうか。 A1はいろいろ変えたいが、B5の式は変えずに処理できるかという質問です。 回答をよろしくお願いし

  • Excel縦と横を変えたい

    現在、Excelにて一覧表を作成中です。   A  B  C  D  E 1 名前 あ様 い様 う様 え様 2 住所 a 市 b市  c 市   d市 例えば、上記のように入力してしまったけれども、この表を縦にしたいんです。   A  B  C  D  E 1. 名前 住所 2 あ様 a市 3 い様 b市 4 う様 c市 としたいんですが、簡単に変更ができる方法があったら教えてください。お願いします。 (分かりにくくて申し訳ありません)

  • Excelでsumifの文字列版ってありますか?

    Excelで過去のファイルを元にデータを作成しています。 店名と住所を一覧にしないといけないのですが、 現在のデータには店名しかデータがありません。 過去のファイルには店名と住所が一覧になっているため、 過去のファイルから住所をコピーしなければいけません。 店名 住所 数量  A   B  C 上記のような形でA・Cは入力済み、Bのみ現在空白で、他のファイルよりデータを持って来たいと思っています。 sumifのような形で、 他のファイルを参照し、「店名と合致した場合にその住所をコピーする」ということはできますでしょうか。 説明下手で申し訳ございません。 宜しくお願いします。

  • エクセルの文字列操作

    住所録の様式で A列にNo、B列に氏名、C列に住所のファイルがあり、 C列の住所で、1個のセルに何故かしら「住所と電話番号」が入っています。 住所と電話番号を夫々別の列に分割したくて、 電話番号は、RIGHT 関数で取り出しました。 住所は、文字数が一定でないので、LEFTまたはMID関数では出来ません。 ここで質問です 住所データの末尾に混在する電話番号は10文字の場合に限定し、 文字数の異なる、住所(○○市XX町△△番地○△荘2-103など)のみ 抽出する方法はありませんか。 なお、VBAなどは無知です、エクセル関数だけの操作があれば教えてください。

  • 長い文字列から特定の数字を取り出す方法

    一つのセルに含まれる長い文字列から、連続する8桁の番号のみを取出し、1行ずつのデータにしていく方法を教えてください。 具体的には、以下のようなデータがあります。 A2セル: 1-2業務規則(マーケティング部)(40404040)'2-2業務規則(経理部)(30303030) 上記のセルから40404040と30303030の番号のみを取出し、行を追加した上で B2セルに40404040、B3セルに30303030と書き出したいと思っています。 エクセルの関数を使って文字列から数値のみを拾う方法を試してみましたが、 ”1-2”や”2-2”といった不要な数値も拾ってしまいました。 ほしい数値だけを取り出す方法があれば知りたいです。 良い方法をご存じの方、ご教示お願い致します。

  • EXCEL2014 TRUEならば数字を返すとき

    また、基本的な質問ですみません。 EXCEL2014で A1セルがTRUEならば、 1 を  B1セルがTRUEならば 0.5 を C1のセルの返すには どうしたらよいでしょうか? よろしくお願いいたします。

  • Excel2000で、1つのセルに入っている文字を2つに分ける方法

    Excelで住所録を作っていて、    A      大阪1-1-1  東京2-2-2 と1つのセルに入力されているのを      A     B       大阪    1-1-1   東京    2-2-2 と地名と番地に分ける方法はありますか? 宜しくお願いします。

専門家に質問してみよう