• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:エクセル文字列抽出関数についての補足説明のお願い)

エクセル文字列抽出関数の使い方

FEX2053の回答

  • FEX2053
  • ベストアンサー率37% (7987/21355)
回答No.1

MIN(FIND({0,1,2,3,4,5,6,7,8,9},A1&"0123456789")) これが分かったらわかりますよね。 これは、0~9の数字がA1の中にあるかどうかを探しているんです。 {0,1,2,…,9}のどれかをA1から探し、その先頭の位置を返せって 言う関数ですから。 A1&"0123456789"は、A1だけでもいいのですが、A1に数字がない とエラーしてしまうので、念のためひっつけただけです。 逆に言えば、もしA1に入ってる数字が"1"だけなら =LEFT(A1,FIND("1",A1)-1) これだけで、"aaaa"が引っ張り出せます。これならわかりますよね。 =MID(A1,MIN(FIND({0,1,2,3,4,5,6,7,8,9},A1&"0123456789")),LEN(A1)) も同じで =MID(A1,FIND("1",A1),LEN(A1)) ってことで、「"1"が見つかった位置から最後の文字(=LEN(A1))まで 引っ張り出せ」って処理ですから、後ろの"1111"が出てきます。

kanrekioyaji
質問者

お礼

FEX2053様、早々に回答いただきまして、ありがとうございました。お陰様で、疑問が解けました。初心者に付き、質問するにも基本ルール等が良く判らず、又、お礼についても不行き届きの点があるかも知れませんが、ご容赦下さい。本当にありがとうございました。

関連するQ&A

  • 関数で文字列と数字の組合せから数字のみを取り出す

    お世話になります。 文字列+数字から数字のみを取り出す関数はエクセル技道場などで紹介されている =MID(A1,MIN(FIND({0,1,2,3,4,5,6,7,8,9},A1&1234567890)),LEN(A1)*10-SUM(LEN(SUBSTITUTE(A1,{0,1,2,3,4,5,6,7,8,9},))))で可能ですが、たとえばSSPAS2.5などのように小数点を含む数字の場合結果は2.となります。正しい結果を得るためにはどのような関数を使えばいいのでしょうか。数字には整数、少数点を含むものが混在しているとします。 どなたかよろしくお願いします。

  • エクセルで文字列を抽出する関数

    エクセルでデータ処理をしています。 例えばA列に Iwate kenichi Akita hachiro gata (1992) Yamagata shi,1905 というデータがあり、同じ関数を使ってそれぞれB列に Iwate kenichi Akita hachiro gata Yamagata shi と抽出したいので、 =IF(FIND("(",A1),LEFT(A1,FIND("(",A1)-1),IF(FIND(",",A1),LEFT(A1,FIND(",",A1)-1),A1))という式を作ってみましたが、うまく処理できません。 どのような式を作れば上手くいきますか?マクロは使えませんので、関数でお願い致します。

  • このエクセルの複雑な関数を訳してください!

    こんにちは。 これから年賀状の季節ということで、エクセルでリストを作成し、印刷にまでこぎつけたいと思うのですが、「(株)や(有)を除いた会社名順に並び替えたい」と考えております。 そこで、こちらのOkwebで検索したところ、下記のような式がアドバイスされていました。とてもありがたいです。 ただ、こちらをそのまま使わせていただいてもかまわないのですが、式に興味を持ち、自分で辞書をひいて調べたところ、構造が理解できませんでした。 そこで、どなたかこちらのエクセルの式を訳していただけないでしょうか。 =CONCATENATE(LEFT(PHONETIC(A2),FIND("(",PHONETIC(A2),1)-1),MID(PHONETIC(A2),FIND(")",PHONETIC(A2),1)+1,LEN(PHONETIC(A2)))) CONCATENATE関数で、LEFT関数・MID関数・LEN関数で出したものを結合する? ・LEFT(PHONETIC(A2),FIND("(",PHONETIC(A2),1)-1) ・MID(PHONETIC(A2),FIND(")",PHONETIC(A2),1)+1 ・LEN(PHONETIC(A2) このようにわけられるものでしょうか。 アドバイス、よろしくお願いします!

  • スペースを含んだ文字列から文字列の抽出

    エクセルバージョン2007 スペースを含む文字列で、A列に文字列がある時、以下の式を組んで文字列を抽出しています。 先頭にIDの数字が有る場合は、それぞれの目的に合った文字列を抽出しています。 B1=LEFT(A1,SEARCH(" ",A1,1)-1) C1=LEFT(MID(A1,SEARCH(" ",A1,1)+1,LEN(A1)-SEARCH(" ",A1,1)),SEARCH(" ",MID(A1,SEARCH(" ",A1,1)+1,LEN(A1)-SEARCH(" ",A1,1)),1)-1) 3 3df-32654-10 CCCCHH 10 1ab-12345-00 AAABBBB この文字列の場合、B列に3と10が表示、C列に 3df-32654-10 1ab-12345-00が表示されます。 先頭に、IDの無い文字列は以下の様な構成です。 6rt-95132-00 PPPKKK この文字列の場合、B列に6rt-95132-00、C列にPPPKKKが表示されてしまい、この場合、IDの数字が無い場合はB列には表示させない又は、C列に6rt-95132-00させたいと思っています。 ご教授頂ければ幸いです。 以上、宜しくお願い致します。

  • Excelの抽出方法について

    Excel2003において、英字のみと数字のみを抽出する方法を教えてください!(出来れば関数のみとVBAの両方) A列にはaaaa1111のように英字+数字のパターンで500行ほどあり、 英字の文字数は決まっておらず、数字は3字か4字のどちらかになります。 B列に英字のみ、C列に数字のみの結果を出したいです。 ご教授の程よろしくお願いします。

  • エクセルの文字列・数値【長文です】

    昨日、LEFT関数の使い方を教えていただきましたが、これですとLEFT関数を用いたところが【文字列】として認識されました。【数値】として認識させる方法を教えてください。 初心者で申し訳ございません。 昨日の質問・いただいた回答は以下の通りでした。 ≪質問≫ [123456/あいうえお/abc][234567/かきくけこ/efg]のようなデータがいくつかあって(例えばA列に)、B列に[123456][234567]、C列に[あいうえお][かきくけこ]、D列に[abc][efg]と表記できるような【関数】を教えてください。 ≪いただいた回答≫ A1にデータがあったとして。 B列 =LEFT(A1,SEARCH("/",A1,1)-1) C列 =LEFT(RIGHT(A1,LEN(A1)-SEARCH("/",A1,1)),SEARCH("/",RIGHT(A1,LEN(A1)-SEARCH("/",A1,1)),1)-1) D列 =RIGHT(RIGHT(A1,LEN(A1)-SEARCH("/",A1,1)),LEN(RIGHT(A1,LEN(A1)-SEARCH("/",A1,1)))-SEARCH("/",RIGHT(A1,LEN(A1)-SEARCH("/",A1,1))))

  • Excel関数 文字分割

    A列               関数の結果求めたい値 AAAA BBBB(半角スペース区切)     AAAA AAAA BBBB(全角スペース区切)    AAAA AAAA/BBBB(半角/区切)        AAAA AAAA/BBBB (全角/区切)       AAAA =LEFT(A1,FIND(" ",SUBSTITUTE(A1," "," "))-1) =LEFT(A1,FIND("/",SUBSTITUTE(A1,"/","/"))-1) Excelの関数で一回の関数で上記二つの関数を使用して 区切文字複数を考慮して文字分割したいのですが、 どのように実施すればよいかご教授ねがえますでしょうか? IF文を使うのかもしれないとは思いいろいろと試したのですが うまく出来ない為質問させて頂いたおります。

  • 文字列を取り出す

    A列に[ No.××× ] あああああ・・・と入力されています。 毎回入力される行数が違います(100~300行) B列にNo.×××という文字列だけ取り出すために下記の関数が入っているのですが A列に入力のあった分だけをマクロで処理できませんか。 =LEFT(RIGHT(A2,LEN(A2)-FIND("[ No",A2,1)),8) 現在は300行目までこの関数が入った状態で、エクセルが重い気がします。

  • エクセル 文字列の日付を日付書式に変換

    文章の中に混じっている日付を切り出しました。しかし書式を変更しても日付になってくれません。そこでこれをDate関数で日付化しようとしたのですが、”日”の部分が切り取れません。 例 1/1/2001 1/10/2001 12/29/2001 このように桁がバラバラなので、Left,Right,Mid関数とDate関数に組み込んでみましたが、日の部分を指定する方法がわかりません。 =DATE(RIGHT(A1,4),MID(A1,FIND("/",A1)+1,????) ????に何を入れたらいいでしょうか。

  • エクセル関数、文字列の抽出

    A1セルの中にたとえば「コーヒー、お茶、紅茶、コーラ、ビール、ワイン」と有るとします。B1にビールとワイン、C1にコーヒー、紅茶と抽出したいのですが、どなたかご存知の方ぜひ教えてください。MID関数とかFIND関数とかを試したのですがうまくいきませんでした。宜しくお願いします。