[[20220630151418]] 『特定の文字の抽出の仕方』(ハンバーガー) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『特定の文字の抽出の仕方』(ハンバーガー)

(1)hamburger_123_456789012_meet
(2)hamburger_456_789012345_lettuce
(3)hamburger_789_012345678_tomato

という文字列があった時に、下記を抜き出したいです。

(1)456789012
(2)789012345
(3)012345678

ネットを調べたのですが、分からず、、
どなたか関数をご教示ください。よろしくお願いします。

< 使用 Excel:Excel2016、使用 OS:Windows10 >


 抜き出す条件は?
 例だけで判断すると
 文字列の15文字目から9文字?
 2番目のアンダーバーから3番目のアンダーバーまで?
(ねむねむ) 2022/06/30(木) 15:30

ねむねむさん
ありがとうございます!
抜き出す条件は、2番目のアンダーバーから3番目のアンダーバーまでです。
(ハンバーガー) 2022/06/30(木) 15:35

 =TRIM(MID(SUBSTITUTE(A1,"_",REPT(" ",100)),200,100))
 ではどうだろうか?
 もし文字列内にスペースがある場合は
 =CLEAN(MID(SUBSTITUTE(A1,"_",REPT(CHAR(9),100)),200,100))
 で。
(ねむねむ) 2022/06/30(木) 15:46

仮セルを利用した回答

 |[A]                                  |[B]                   |[C]            |[D]               |[E]               
 [1]|Terget                            |Str between 2nd to 3rd|1st _          |2nd _             |3rd _             
 [2]|(1)hamburger_123_456789012_meet   |=MID(A2,D2+1,E2-D2-1) |=FIND("_",A2,1)|=FIND("_",A2,C2+1)|=FIND("_",A3,D2+1)
 [3]|(2)hamburger_456_789012345_lettuce|=MID(A3,D3+1,E3-D3-1) |=FIND("_",A3,1)|=FIND("_",A3,C3+1)|=FIND("_",A4,D3+1)
 [4]|(3)hamburger_789_012345678_tomato |=MID(A4,D4+1,E4-D4-1) |=FIND("_",A4,1)|=FIND("_",A4,C4+1)|=FIND("_",A4,D4+1)

    |[A]                               |[B]                   |[C]  |[D]  |[E]  
 [1]|Terget                            |Str between 2nd to 3rd|1st _|2nd _|3rd _
 [2]|(1)hamburger_123_456789012_meet   |             456789012|   13|   17|   27
 [3]|(2)hamburger_456_789012345_lettuce|             789012345|   13|   17|   27
 [4]|(3)hamburger_789_012345678_tomato |             012345678|   13|   17|   27
(白戸) 2022/06/30(木) 16:30

ねむねむさん

ご回答ありがとうございます。
こちら私の例題が悪かったのですが、hamburgerの前に文字があり文字数は未定の場合、関数はどうなりますか?
またhamburgerという文字は固定なので、ここを軸に関数を組むことは可能でしょうか?
ねむねむさんにいただいた関数で色々試してみたのですが、抜き出したい文字を抜き出せず。。

(1)123_hamburger_123_456789012_meet
(2)4567_hamburger_456_789012345_lettuce
(3)89102_hamburger_789_012345678_tomato


(1)456789012
(2)789012345
(3)012345678

こちらの不手際で申し訳ないです。お手数をおかけしますが、ご確認お願いします。
(ハンバーガー) 2022/06/30(木) 16:42


 >抜き出す条件は、2番目のアンダーバーから3番目のアンダーバーまでです。
 違う条件持ち出されて抜き出せないといわれても。
(ねむねむ) 2022/06/30(木) 16:44

(1)(2)(3)というのも抜き出す対象文字列?
それとも説明用のもの?
こうころっと話が変わると、疑心暗鬼になります。
(疑問点) 2022/06/30(木) 17:02

つまり希望の条件は、
 3番目のアンダーバーから4番目のアンダーバーまで ?

少し考えたら私の関数を応用すれば直ぐにできます。

(白戸) 2022/06/30(木) 17:12


 えーかげんにせー!
 最初から仕様をちゃんと説明しとけよ!

(傍の人) 2022/06/30(木) 17:25


 先頭の (1) とか (2) も抜き出す ※桁数は不定

 B1 =LEFT(A1,FIND(")",A1))&TRIM(MID(SUBSTITUTE(A1,"_",REPT(" ",100)),300,100))
 下コピー

 以上
(笑) 2022/06/30(木) 18:24

みなさん
説明不足、また途中で条件を変えてしまったため混乱させてしまい申し訳ございませんでした。

(笑)さんにいただいた関数で解決いたしました。
ご回答いただきありがとうございました。大変助かりました。
(ハンバーガー) 2022/06/30(木) 18:45


コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.