• ベストアンサー

Excelでセル内の文から特定の文字を抜き出す方法

画像のようにA列にランダムで文字列があるとします。 そこから、画像のように「C1」や「B3」などといった特定の文字だけを抜き出したいのですが、良い方法はありますでしょうか。ちなみに抜き出したい文字は2文字で「C1~3」「B1~3」「A1~3」の計9つです。※ちなみに全角文字です。 作業列なども使用可です。アドバイスよろしくお願いしますm(_ _)m

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

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

No.1です。 補足の件に関して・・・ 1セル内に複数存在する場合があり、その場合は最初に出現したものを表示したい! というコトですので、関数ではなくVBAになってしまいますが一例です。 尚、前回アップした画像通りでD列に表示したいデータを配置しているとします。 画面左下の操作したいSheet見出し上で右クリック → コードの表示 → VBE画面に ↓のコードをコピー&ペーストしてマクロを実行してみてください。 (Alt+F8キー → マクロ → マクロ実行です) Sub Sample1() 'この行から Dim i As Long, k As Long, endRow As Long, c As Range endRow = Cells(Rows.Count, "A").End(xlUp).Row If endRow > 1 Then Range(Cells(2, "B"), Cells(endRow, "B")).ClearContents End If For i = 2 To endRow For k = 1 To Len(Cells(i, "A")) Set c = Range("D:D").Find(what:=Mid(Cells(i, "A"), k, 2), LookIn:=xlValues, lookat:=xlWhole) If Not c Is Nothing Then Cells(i, "B") = c Exit For End If Next k Next i End Sub 'この行まで ※ 関数でないのでデータ変更があるたびにマクロを実行する必要があります。 ※ 関数で簡単にできる方法があればごめんなさいね。m(_ _)m

mzakom
質問者

お礼

VBAまで考えて頂きありがとうございます。 しかし、仰るとおりデータ変更があるので何とか関数で解決策を模索します。VBAは後学のために参考にさせて頂きます。ありがとうございましたm(_ _)m

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (1)

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

こんばんは! 一例です。 大前提として、1セルに1回しか出現しない!と条件です。 ↓の画像のように表示したいデータの表を作成しておきます。 今回はD1~D9セルにしています。 B2セルに =IF(OR(ISNUMBER(FIND(D$1:D$9,A2))),INDEX(D$1:D$9,SUMPRODUCT((ISNUMBER(FIND(D$1:D$9,A2))*ROW(D$1:D$9)))),"") 配列数式になりますので、Shift+Ctrl+Enterで確定! この画面からコピー&ペーストする場合は 上記数式をドラッグ&コピー → B2セルを選択 → 数式バー内に貼り付け そのまま(編集可能のまま)Shift+Ctrlキーを押しながらEnterキーで確定! 数式の前後に{ }マークが入り配列数式になります。 これをオートフィルで下へコピーで画像のような感じになります。m(_ _)m

mzakom
質問者

補足

こんばんは。返信ありがとうございます。m(_ _)m 説明不足で申し訳ありませんでした。 「●●●B2B3●●」など、同セルに2回出現する場合もあります・・・。その場合は、D列で設定した上の文字だけを抽出するみたいな感じはできますでしょうか。 「●●●B2B3●●」の場合は、B2の方が上なので「B2」だけ抜き出す感じです。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • Excelの列の抜き出しについて。

    添付画像のような表があるとします。 画像のようにJ列に同行のB~G列のセル値を取り出したいのですが、その様なことはできますでしょうか。 同行に抜き出す対象のセルが2つある場合は、1番左側のセル値を抜き出すようにします。 作業列の使用は可で、文字は全角とします。 もし抜き出す方法があるのならばアドバイスよろしくお願いしますm(_ _)m

  • Excel;特定の文字を含むセルを書き出す方法

    お世話になります。 あるExcelシートの2列×300行ぐらいの範囲のセル内に 文字が入っています。 セル内(例A23idokensi)に特定の文字(例:A23)を含んでいたら、 もしくはセルを抜き出す方法はあるでしょうか? やりたいことは、アトランダムに入力されているところから、 特定の文字を含んだセルだけ取り出して内容とセルの個数を 数えることです。

  • 一つのセルに特定の文字が入ると隣のセルに条件に合った文字を入力したい

    列Aと列Bに特定の条件を入力します。 列Cに列Aに入力した行の文字を入力規則のリストで呼び出すと、列Dに列Aと同じ行に入っている列Bの文字を自動で入力するようにしたいのですが、どのようにしたらいいでしょうか? IF関数で条件分岐させようと思ったのですが列AもBも随時追加されていくのでこの方法が使えませんでした。

  • エクセルで2byte文字を含むセルのみ抽出したいのですが…。

    いつもお世話になっています。 環境はWindows2000pro/EXCEL2000です。 以下のようなリストがあります。    A 1 12abあ 2 3A456 3 abcde 4 漢字 5 111  … 約4000行あります。 この中で2byte文字を含むセルのみ抽出し、 B列に○を付けたいのですが、 (上記リストの場合、B1,B2,B4に○) うまくいかず困っています。 4000行手作業は効率も精度も悪くなりそうです…。 2byte文字の入る位置はランダムで、文字も 特定ではありません。 うまくいく方法があれば教えてください。 よろしくお願いいたします。

  • エクセルで特定の文字を含むセルをコピーしたい

    【現在の具体的な状況】 お世話になります、現在エクセルにてデータの集計を行っております。 やりたい事としては A列にあるデータの中で特定の文字を含むセルを隣のB列、C列にコピーしたい。 と言った内容です。 ↓例) A列 ○○○@docomo ○○○@docomo ○○○@softbank ○○○@docomo ○○○@ezweb ○○○@ocn ○○○@plala と言った具合にメールアドレスが入力されておりますが、これを携帯メールとPCメールとに分けたいのです。 【抱えてる問題/困っている事】 A列に含まれる特定の文字を含むセルを隣のB列に表示されるようにしたいのですが どうにも思ったようにうまくコピーされません。 【何を聞きたいのか】 B1のセルに下記の関数を用いています。 =IF(ISERR(SEARCH("*docomo*",A1)),A1,"") これで、docomoを含むセルをB1に返す事には成功しておりますが、その他にsoftbankや、ezwebを含むように条件を追加しようと思った時に、詰まってしまいました。 また、同時に今度は逆にdocomo、softbank、ezwebを含まないセルをC列に返す方法もご教授できればと思います。 お手数ですが、よろしくお願いいたします。

  • エクセルでA1のセルの文字とB1のセルの文字をくっつける方法

    たとえばA1のセルに「田中」という文字が入力されていて、B1のセルに「太郎」という文字が入力されているとします。 これをC1のセルに、A1セルとB1セルの文字をくっつけて「田中太郎」という文字を表示させたいのですが、関数か何かを使用してこういったことはできませんでしょうか? ちなみに、A列及びB列セルに文字が200個くらい入力されているので、コピーペーストでは辛いんです。

  • EXCELで、特定の文字を含むセルを抽出したいのですが。

    仕入れ帳のようなシートで、B列に商品名があります。 商品名に特定の文字(数字又は文字)を含む時、空白列のC列に、その文字を抽出する方法をご教示ください。B列の商品名は変化させずにです。 意図は、当シート内で並べ替えをする時に、C列をキーとするためです。 商品名が、各種文字と数字で構成されており、そのままでは、希望する並べ替えができないのです。 宜しくお願い致します。

  • Excelで特定の文字を抜き出す

    Excelで関数を使い、特定の文字列を自動で抜き出し、二つの列に分けたいです。 あいうえお0X =AAA= かきくけこ00 =BBBB= さしすせそ000 =CCC= たちつてと0 =DD= なにぬねの00X =EEE= はひふへほ000 =F= 上記のようにA1~A6に、文字数も文字もバラバラのセル列があったとします。 これを以下のように分解したいです。 例: A1:あいうえお0X =AAA= A2:かきくけこ00 =BBBB=    ↓ 「B1:あいうえお0X」と「C1:AAA」 「B2:かきくけこ00」と「C2:BBBB」 関数を教えて下さい。

  • セル内の文字列から特定の文字の有無を検索したい。

    セル内の文字列から特定の文字の有無を検索したい。 (A1)セルに、文章が書かれており、その中に、(B1)セルに入力した文字列が含まれているか調べて、有無を(C1)セルに1,0で表示する方法を教えて下さい。よろしくお願いいたします。

  • Excelで各セルへの文字追記

    Excelで各セルへ特定の文字列を追記する方法はありますでしょうか? 例)   A  B  C 1 あ い  う 2 え お  か 3 き く  け 上記のような表の全てのセルに「ん」を追記する。   A   B    C 1 あん いん  うん 2 えん おん  かん 3 きん くん  けん のようなことを簡単にやりたいです。 マクロとかは苦手なので簡単な方法があれば教えてください。

専門家に質問してみよう