プロが教える店舗&オフィスのセキュリティ対策術

いつもお世話になっております。
画像A列:事業所名をB列:抽出したいと考えています。
抽出条件は、事業所名に空白以下がない場合はB2のようにA2をそのまま転記、
事業所名に空白以下がある場合は空白以下のみをB3のように抽出したいです。
エクセルの関数で式をご教示いただきたく、よろしくお願いいたします。

「エクセルの関数を教えてください。②」の質問画像

質問者からの補足コメント

  • コメントいただきありがとうございます。

    空白以下の抜出のみはMID関数でできているので、
    空白以下がない場合と一緒に同じ列でのMID関数を併用ができるかが知りたいです。
    空白前は「〇〇株式会社」「〇〇営業所」等の会社名、営業所名が10種類ほどあり、
    文字数もバラバラです。

      補足日時:2023/05/25 16:07

A 回答 (9件)

空白が全角なのか、半角なのか、全角だと思ったら半角2つだったなど、A列の入力状況が今一つ不明確です。



そこで、空白が全角でも、半額でも、あるいは全角だと思ったら半角2つだったといった場合でも、対応可能な数式を考えてみました。

添付画像をご覧ください。B2セルに

=JIS(TRIM(IFERROR(MID(ASC(A2),FIND(" ",ASC(A2)),255),A2)))

という数式を記述して下方向へコピーしています。

但し、もともと事業所名や部署名に半角英文字が混在していた場合など、全て全角になってしまうという問題があります。
つまり、「goo株式会社」は「goo株式会社」と表示されるということです。それは避けたいという場合は多少長い数式になりますが、

=TRIM(IFERROR(MID(SUBSTITUTE(A2," "," "),FIND(" ",SUBSTITUTE(A2," "," ")),255),A2))

という数式を用いればよいと思います。
「エクセルの関数を教えてください。②」の回答画像8
    • good
    • 0
この回答へのお礼

皆様ご回答いただきありがとうございました。
様々な方法を目にし、大変勉強になりました。
実務に生かしまた勉強するようにいたします。
ありがとうございました。

お礼日時:2023/05/29 12:58

B2のセルに


空白が全角の場合
=TEXTAFTER(A2," ",,,,A2)
空白が半角の場合
=TEXTAFTER(A2," ",,,,A2)
    • good
    • 0

=IFERROR(MID(A2,FIND(" ",A2)+1,100),A2)



とかでいいのでは?
    • good
    • 0

Officeのバージョンが新しければ、TEXTAFTERで。


「A2の中の最初の空白以降の文字列。ただし空白が無いときはA2」は、
=TEXTAFTER(A2," ",,,,A2)
です。省略している引数の指定により「最後の空白以降」も可能です。

バージョンが古くてこの関数が無い場合は、他の回答のように空白有無で場合分けがほぼ必須です。

>No5さん
> SEARCH(” ” , ” ”&A2,2)
「A2の前に空白を付けて2文字目から探す」イコール「A2の1文字目から探す。見つかった場合の結果位置に+1」ですよ。A2に空白が含まれないとエラー。
    • good
    • 0

抽出のための条件を並べてみましょう。


 ・空白文字の右側(?)
 ・特定の文字列(”部”?)
こんなんで充分でしょうか?
他にも条件があるかもしれません。よく考えてください。
A列の文字列が必ず ”部” で終わるとか、1つ目の空白から右側全部なら2つ目の条件は不要だったりします。

空白文字は「SEARCH関数」や「FIND関数」で見つければ良い。
見つからなかった場合はエラーになるので、あらかじめ空白文字を入れておくと良いでしょう。
 SEARCH(” ” , ” ”&A2,2)
(No.2の回答者さん…検索文字と検索対象が逆です)
こんな感じで検索対象に対して空白文字を1文字目に加えて、2文字目から検索してやればいい。
検索対象のセルの1文字目の空白を見つけてきてくれます。
しかも返ってきた値をMID関数の切り出し開始位置の値としてそのまま使えるのでError系の関数を使い検索文字列(空白)が見つからなかった場合の処理をする必要もない。
    • good
    • 0

関数は良く分かりませんが・・・


全角スペースで区切られた文字列がある場合 最後の文字列を取得します
文字列に全角スペースが入っていない場合は文字列を最後の文字列として取得します 空白セルの対応は入っていません
全角スペースの個数で取得位置を決めています
=CHOOSECOLS(TEXTSPLIT(A2," "),LEN(A2)-LEN(SUBSTITUTE(A2," ",""))+1)
    • good
    • 0

こんにちは



一口に「空白」と言っても半角と全角は別文字なので違いがあります。

以下は、半角空白の場合の例です。
365環境他を想定しています。
=IFS(A2="","",ISERROR(FIND(" ",A2)),A2,1,INDEX(TEXTSPLIT(A2," "),2))

※ A列に空白セルがある可能性を考慮する必要が無い場合は、最初の部分は不要です。
※ 半角/全角の空白が混在しているような場合は、同様にしてケース分けを増やすか、先にどちらかに統一してから処理を行うようにすればよいでしょう。
    • good
    • 0

抽出=MID(事業所名、SEARCH(事業所名、空白)+1,99)


ご確認ください。

なお、空白が複数あった場合には、最初の空白の次からが表示されます。
    • good
    • 1

空白の位置を調べて、そこを基準に特定の文字列があるかを検査すれば、抽出の条件にすることができます。



ということで、この手順の何が分からないのかを「補足」してください。

ここは「代わりに数式を作ってください」または「セルを書き換えるだけで動作する数式を俺様の代わりに作れ。便利に使ってやるwww」と【作業依頼】する場所ではありません。

自力で数式を作れるようになるためのアドバイスをもらう場所です。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!