質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%

Q&A

解決済

2回答

938閲覧

複数のワイルドカード

SugiuraY

総合スコア317

0グッド

0クリップ

投稿2017/12/05 01:02

文字列: abcd_efgh_ijklm
抽出したい文字列:abcd_efgh
という状況なのですが

=LEFT(A1,SEARCH("__",A1)-1)
のように複数のワイルドカードでうまくいきません

なにかうまくできる方法はございますでしょうか。

宜しくお願い申しあげます。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

SugiuraYさんがしたいのは『2つ目のアンダースコア("_")より左側を取り出す』という事だと推測して回答いたします。 (もし間違った推測であったなら、したいことの詳細を質問に追加してください)

"abcd_efgh_ijklm"から"abcd_efgh"を取り出す関数は、以下の通りです。

excel

1=LEFT(A1,SEARCH("_",A1,SEARCH("_",A1)+1)-1)

関数の説明:
2つ目のSEARCH関数 「SEARCH("",A1)」は、A1セルの内容に含まれる1つ目のアンダースコアの位置を調べています。A1セルの内容が"abcd_efgh_ijklm"だとすると、5文字目にアンダースコアがありますから「SEARCH("",A1)」は 5 になります。

 1つ目のSEARCH関数「SEARCH("",A1,SEARCH("",A1)+1)」は、2つ目のSEARCH関数と違って引数が3つあります。3つ目の引数は何文字目から探し始めるかを指定するものです(省略すると1と解釈されて1文字目から探し始めます)。ここに2つ目のSEARCH関数の結果+1を使う事で、1つ目のアンダースコアの右側からアンダースコアを探し始めています。こうすることで2つ目のアンダースコアの位置が調べられます。

 欲しいのは2つ目のアンダースコアより左側の文字列ですから、LEFT関数の2つ目の引数(文字数を指定する)に1つ目のSEARCH関数の結果-1を使っています。

投稿2017/12/05 02:34

coco_bauer

総合スコア6915

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

SugiuraY

2017/12/05 05:29

ご回答有賀とございます。 趣旨はご指摘のとおりです。SEARCH関数の使用方法を誤っておりました。 ご教示頂き有難うございます。
guest

0

ベストアンサー

手元のExcel2013ではうまく行っているようです。
SEARCHでは1が返って、=LEFT(A1,SEARCH("*_*_",A1)-1)では空文字列になります。

投稿2017/12/05 02:09

otn

総合スコア84423

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

SugiuraY

2017/12/05 02:11

コメント有難うございます。 abcd_efghを返したいのですが、何故SEARCHが1を返してしまうためうまくいきません。10を返すと想定しているのですが。。。
otn

2017/12/05 02:20

SEARHというのは、その文字列が何文字目から始まっているかを返す関数ですよ。 先頭から始まっているので、1を返します。 2番目の _ の位置を知りたいという事でしょうか?
SugiuraY

2017/12/05 02:21

コメントありがとうございます。失礼しました、そのとおりです。
otn

2017/12/05 02:22

であれば、 =LEFT(A1,SEARCH("_",A1,SEARCH("_",A1)+1)-1)
SugiuraY

2017/12/05 02:31

なるほど、無事解決することができました。 無理にワイルドカードで正規表現的なことをする必要なかったですね。。 お力添えを頂き、誠に有難うございます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問