• ベストアンサー

☆エクセルの一つのセルから特定の文字から始まる部分を抜き出(抽出)したいです☆

Wendy02の回答

  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.4

A列に文字列があるとします。 A1:リンゴ120ABCミカン (ただし、全角のカタカナ文字列と半角の英数字の混合した文字列とします。また、それぞれの検索文字列の長さは、20字にしましたので、短いようでしたら、ROW($A$1:$A$50) などとして、長めにしても構いません。上限は、255までです。)なお、数式の中にあるINDEX関数は、配列をワークシートに取り扱えるようにするために使っています。 B1: =LEFT(A1,MATCH(FALSE,INDEX(ISERROR(MID(A1,ROW($A$1:$A$20),1)*1),,),0)-1) C1: =LEFT(SUBSTITUTE(A1,B1,""),MATCH(TRUE,INDEX(ISERROR(MID(SUBSTITUTE(A1,B1,""),ROW($A$1:$A$20),1)*1),,),0)-1) D1: =LEFT(SUBSTITUTE(A1,B1&C1,""),LENB(JIS(SUBSTITUTE(A1,B1&C1,"")))-LENB((SUBSTITUTE(A1,B1&C1,"")))) E1: =SUBSTITUTE(A1,B1&C1&D1,"") 面倒でしたら、VBAで作ったほうが早いかもしれませんね。

blythe0520
質問者

お礼

Wendy02さん、こんばんは!お礼、大変遅くなってしまってすみませんm(__)mなるほどです!たくさん式を考えてくださいまして、ありがとうございました♪スゴイですん!バッチリ抜き出せました♪ありがとうございました☆

関連するQ&A

  • エクセルで文字が混じった数字を並べ替えしたいのですが

    どなたか、お力お貸し頂けませんか? 一言でも、アドバイス頂ければ幸いです!! エクセルで、製品の機番の並び替えをしたいです。 111234 223452 123A11 123B23 455A67 こんな感じで、機番が並んでいます。(本当は10桁だけどわかりやすくするため減らしてます) 困ったのは、機番にアルファベットが混じっているので、単純に照準で並べ替えると、アルファベット混じりでない数字のみが先にきて、アルファベット混じりが後に続くことです。 実は、アルファベットの前の数字を基準に並べ替えたいのです。(そして更に、アルファベット前の数字が同じな場合、以降のアルファベットはABC順に並べたい) 私が考えた方法は、 LEFT関数を使って、アルファベット前の数字だけ出して、(幸いなことに、アルファベットのある場所が、最初から4番目と決まっています、なので、これが使えると思って)、それを基準に昇順に並べ替える方法。 隣の列には、アルファベット含む全10桁の機番をそのまま付けておけば、これで自然と、アルファベットもABC順になってくれるみたいなので。 そして更に、アルファベットの混じっている機番だけが左詰めになってしまうので、数字のみの機番と見やすく揃えるため、セルの書式設定で、右か左のどちらか詰めに直します。 これでも、できるはできると思うのですが・・ このやり方では?という方法や何かアドバイスいただければ、とっても幸いです。 (機番が全部で1000個以上あって、これから私が在庫管理をまかされる機番の種類は、アルファベットが2個混じってるものや、混じってる位置もばらばらなものもあるようです><;アルファベットが最初と最後から3番目に混じってる機種とか・・(++;)今回はとりあえず、最初から4桁目がアルファベットの機種の機番のやり方だけでもと思い、ご相談させて頂きました) どうぞ宜しくお願い致しますm(__)m

  • 【エクセル】リストと一致するデータを抽出し、文字に色をつけることは可能でしょうか?

    エクセルで作成したファイルの【シート1:表】に様々なデータを打ち込んでおり、【シート2:リスト】にはリスト一覧を入れています。 シート1の表で、リストと該当する文字列だけに色をつけることは可能でしょうか。表はこのような感じです。 【表】   A列    B列 1 りんご   apple 2 りんごを食べる eat an apple 3 みかん     orange 4 みかんを買う  get an orange 【リスト】   A列       B列 1 りんご     apple 2 みかん     orange このような表なのですが、例えば、1行目、3行目はリストと同じなので赤い文字で表示し、A2のセルの「りんごを食べる」の「りんご」とB2セルの「eat an apple」の「apple」、またA4セルの「みかんを買う」の「みかん」と「get an orange」の「orange」の文字列だけを赤字にするようなことは可能でしょうか。 少量のデータなら手作業で変更できるのですが、データが大量にあるため手作業では追いつかず困っています。どなたかご存知の方がいらっしゃいましたら、よろしくお願いいたします。

  • エクセルで値を指定しての検索が出来ない場合の同じ値のセルをすべて抽出す

    エクセルで値を指定しての検索が出来ない場合の同じ値のセルをすべて抽出する方法 エクセルのA列に上から順に A1みかん A2リンゴ A3みかん A4パイナップル A5マンゴー A6みかん A7パパイヤ A8リンゴ A9バナナ A10グレープフルーツ A11みかん A12レモン という具合に1000行くらいあって同じ値のみを抽出する方法を教えてください。 上記の場合 A1みかん A3みかん A6みかん A2リンゴ A8リンゴ という具合に表示してほしい。 同じ値の行は最大3つ(3種類×3行)、又は2つ(2種類×2行)です。 後の980行くらいはそれぞれ値が違います。 また同じ値が何で有るのかも不明です。 上記例ではみかんとリンゴですが、そうだとは限りません。 レモンかもしれないし、マンゴーかもしれない。 またその1000行の中の値の種類も何種類あるのか不明です。 最悪1000種類で重複は無いかも知れない。 よって値を指定しての検索は出来ません。 ソートして昇順にとかにすれば同じ値は上下に並びますが 実際には、みかん とかではなく英数字20ケタなので目で見ただけで 上下に並んでいるのは見つけれません。 12A3456D620X834F7623 14B63795V63879576235 167353F46856G6983639 167353F46856G6983639 16C342D374A755C65833 1000行の中からこのように上下が同じ値の行を見つけるのは難しいです。 簡単に発見する方法はありますか?

  • エクセル2003で、重複しないデータのみを別シートに抽出する方法が知り

    エクセル2003で、重複しないデータのみを別シートに抽出する方法が知りたいのですが、過去の質問内容を拝見しても全く同じ状況が見つからず、エクセルが苦手で応用のきかない私では解決できなかったので、こちらで質問させて頂きます。 まずシート1にデータが縦に並んでいます。 りんご みかん いちご シート2には、シート1のデータに新たなデータが加わった上、ランダムに並んでいます。 りんご オレンジ キーウィ みかん アボカド いちご 知りたいことは、シート1とシート2のデータを比べ、シート2のデータのうち、新たに加わったものだけをシート3に抽出する方法です。 オレンジ キーウィ アボカド ちなみに実際のデータは数字とアルファベットの混合で10桁くらいあり、前方の3桁が一致のものが大半を占めます。 エクセルにお詳しい方、ご教示頂けると幸いです。 どうぞよろしくお願い致します。

  • エクセル VBA セル内の文字検索について

    XP microsoft visual basic 6.0 です A1からA10に書かれた文章(平仮名、カタカナ、漢字、数字、記号、含む)の中に 0から始まる半角8桁の数字があれば 取り出し B列に書き出す VBAを用いてこのようなことは可能でしょうか ※8桁の数字は文章内の何文字目にあるか決まっていない ※文章内に0から始まる8桁の数字が複数あることはない、が、0から始まり記号を含む8桁の文字列はある ご教授ください

  • 【VBA】「同じ文字を含むセルがあるならば」とやりたい

    こんばんは。 エクセル2003を使用しています。 例えば A1→「りんご」 A2→「りんご食べたい」 の場合、 「りんご」は2個以上あります としたいのですがうまくいきません。 Sub 重複() For 行 = 1 To Cells(65536, 1).End(xlUp).Row If Cells.Find(what:=Range("a" & 行), LookAt:=xlPart) Is Nothing Then Else 'あるならば MsgBox Range("a" & 行) & "は2個以上あります" End If Next End Sub これだと取得セルもカウントされてしまうため、必ずMsgBoxが表示されてしまいます。 どうすれば取得セル意外にも取得セルを含むセルがあるかを調べられるのでしょうか? そしてこれは A1→「りんご」 A2→「りんご食べたい」 A3→「みかん」 A4→「みかんはオレンジ」 A5→「バナナ」 ・ ・ ・ と続いており 最終的には →「りんご食べたい」 →「みかんはオレンジ」 →「バナナ」 にしたいのです。 よろしくお願いします。

  • Excelでハイフンが入った文字列の抽出について

    A列に『12-1』、『1-5-10』、『14-15-6-3』など1桁また2桁の数字がハイフンで区切られた文字列があるとします。 そこからB列には左から2番目の数字、C列には右から2番目の数字、D列には1番右端の数字を関数で抽出したいのですが、出来ないでしょうか。 全部半角で、必ず数字は二つ以上あり、桁数は2桁までです。下記の画像のようにしたいです。 http://uproda.2ch-library.com/801593yFu/lib801593.jpg

  • Excel同一セル内の、アルファベットと数字の順番を入れ替えについて教えてください

    ExcelのA列のセルに、アルファベットと数字の組み合わせが3000行くらい入っています。 アルファベットは1~3個でA~Z、 数字も1~3個で0~9 の組み合わせです。アルファベットと数字の配置は A1    A12    A123 AB1 AB12 AB123 ABC1 ABC12 ABC123 の9通りか、数字が先にくる場合の9通りのいずれかです。 (アルファベットと数字はそれぞれまとまっていて、入り混じることはありません) これを、 1A 123ABC  のように、数字を前に持ってくるように統一したいのです。 もともと数字が前に入っているセルはそのままで有効です。 マクロを使わず、B列以降のセルを使って関数でできないでしょうか? ご説明がうまくできなくて申し訳ないです。 よろしくお願いいたします。

  • エクセルでこんな時どのような式を入れればよいのでしょう?

    エクセル2000を使用しています。 同じシート内で下記のような表を作りたいのですがどのようにすれば良いのでしょう? D、E列の数字は下表のE列に反映させ、CはDに反映。B列に未という文字が入れば その行は下の表に反映させないようにしたいのです。 但し後にB列の未は消える事もあります。さらに例で言えばオレンジの横の未が消えたら 下表のみかんとリンゴの間に入るようにしたいのです。 宜しくお願いします。       B     C     D     E 5          みかん    30 6     未    オレンジ         60 7          りんご    50 8          もも     40 9          レモン          80 10    未    バナナ    90 11         パイン          20             D      E 80         みかん    30 81         りんご    50 82         もも     40 83         レモン    80 84         パイン    20

  • エクセルで項目抽出

    エクセルで下記のような表から項目を抽出したいのですが うまくいきません A列 りんご みかん りんご ぶどう みかん と入力されていて任意のセルに、A列に入力されている項目から 重複分を除き抽出したいです 具体的には任意セルに「りんご、みかん、ぶどう」と抽出したいのです。 オートフィル機能を使いやってみましたが、 A列に後からデータを追加すると追加データまでは拾えませんでした。 よろしくお願いいたします