• 締切済み

エクセル関数:文字の抜き出し方について

どなたかお力添えください。 セルA1に「1234:567:89abc:de」があります。ここからセルB1に「1234」だけを、セルC1に「567」だけをセルD1に「89abc」だけをセルE1に「de」だけを抜き出したいと思っています。「FIND」関数では1番左の「:」しかカウントしてくれないため、苦労しています。 やはり「LEFT(FIND)」で左から「1234」を抜き出し、残り「567:89abc:de」を別の列のセル(たとえばセルAA1)に表示し、また「LEFT(FIND)」で左から「567」を抜き出し、・・・を繰り返すしかないでしょうか。 セルC1・D1・E1とも、1式でセルA1から直接抜き出す方法はないでしょうか。 ご存じの方、お力添えください!!

みんなの回答

  • KURUMITO
  • ベストアンサー率42% (1835/4283)
回答No.4

関数を使うよりもデータの区切り位置を使うのが簡単でしょう。 コロンが半角や全角の可能性もありますので、初めにA列を選択してから「ホーム」タブの「検索と選択」をクリックし、「置換」を選択します。「検索する文字列」に全角のコロン:を入力し、「置換後の文字列」には半角のコロン:を入力します。「すべて置換」をクリックすることですべてのコロンを半角にします。 その後に「データ」タブから「区切り位置」を選択します。 以降は回答No2の方と同じ操作をすればよいでしょう。

  • a987654
  • ベストアンサー率26% (112/415)
回答No.3

VBだったら簡単なんですが直接だと結構面倒い関数になります。 参考までにB1,C1の1例 B1セル =LEFT(A1,FIND(":",A1,1)-1) C1セル =LEFT(REPLACE(A1,1,FIND(":",A1,1),""),      FIND(":",REPLACE(A1,1,FIND(":",A1,1),""),1)-1) D1,E1は更にこの入れ子となり、より複雑になります。 ご自分でやって見て下さい。 作業用セルを使い簡単にすることも考えましょう。 というより、一発の式だけで結果を出すことだけが良いとは 限りません。 より分かりやすく簡単な方法が一番良いと思いますので 以下参考まで。 C2セルに =REPLACE(A1,1,FIND(":",A1,1),"") C1セルは =LEFT(C2,FIND(":",c2,1)-1) D2セルに =REPLACE(C2,1,FIND(":",C2,1),"") D1セルは =LEFT(D2,FIND(":",D2,1)-1) 質問記載に合わせて D2セルの”:”は全角、 D1セルの”:”は半角となります。 Eセル位は自分で考えましょう。

  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.2

こんばんは! 参考になるかどうか分かりませんが・・・ 関数でないとダメですか? 当方使用のExcel2003での場合の回答になります。 質問内容ではコロン「:」が全角と半角が混ざっているように見えるので もしそうであれば参考になりません。 一応すべて同じコロンだということで回答させていただきます。 メニュー → データ → 区切り位置 で 「カンマやタブなど・・・」を選択 → 次へ  その他にチェックを入れ「:」を入力 → 次へ 表示咲きを =$B$1 として完了 これで↓の画像のような感じで区切られます。 以上、参考になれば幸いですが、 他に良い方法があれば軽く読み流してくださいね。m(__)m

  • Cupper
  • ベストアンサー率32% (2123/6444)
回答No.1

抜き出すには MID関数を使いましょう ”:”の検索には SEARCH関数を使いましょう  =SEARCH(検索文字列,対象,開始位置) こう記述しますので 一つ目  =SEARCH(A1,":",1) 二つ目  =SEARCH(A1,":",SEARCH(A1,":",1)+1) こんな感じ これを MID関数に渡して抜き出せばOK ※ あえて答えを書きません…質問者が理解してこそ本当の解決と考えています

nao_mika
質問者

お礼

さっそくに、誠にありがとうございました!! MID関数は使用したことがありますので、やってみます!! 本当に助かりました・・・。 ありがとうございました!

関連するQ&A

専門家に質問してみよう