Excel (一般機能)

Excelの一般機能に関するフォーラムです。
  • 解決済みのトピックにはコメントできません。
このトピックは解決済みです。
質問

 
(Windows 10 Home : Excel 2016)
文字の抜き出しに関して
投稿日時: 20/09/07 16:20:10
投稿者: chibikko

EXEL関数にて下記の様な抜き出しをしたいのですが可能でしょうか。
(右から最初の→から[]の前迄の文字列を抜き出すのですが、→がないものは[]の前の文字列を抜き出します)
 
〇〇[〇〇〇]                                   ⇒〇〇
△△△[△△]→■■■■[■■■](■■)                       ⇒■■■■
◇◇◇◇[◇◇]→☆☆☆☆☆[☆☆☆](☆☆)→××[××](××)→□□□[□□□](□□) ⇒□□□
 
但し、[]内の文字数は一定ではありませんが、()内の文字数は半角英数字3文字と漢字1文字です。
又、例では→が3つしかありまでんが、数に制限はありません。

回答
投稿日時: 20/09/07 16:36:30
投稿者: んなっと

                       A   B
1                   〇〇[〇] 〇〇
2             △[△]→■■[■](■) ■■
3 ◇[◇]→☆[☆](☆)→×[×](×)→□□[□](□) □□
 
B1
=TRIM(LEFT(SUBSTITUTE(TRIM(RIGHT(SUBSTITUTE("→"&A1,"→",REPT(" ",100)),100)),"[",REPT(" ",100),1),100))
下方向・↓

投稿日時: 20/09/07 16:53:26
投稿者: chibikko

んなっと さんの引用:
                       A   B
1                   〇〇[〇] 〇〇
2             △[△]→■■[■](■) ■■
3 ◇[◇]→☆[☆](☆)→×[×](×)→□□[□](□) □□
 
B1
=TRIM(LEFT(SUBSTITUTE(TRIM(RIGHT(SUBSTITUTE("→"&A1,"→",REPT(" ",100)),100)),"[",REPT(" ",100),1),100))
下方向・↓

 
ご回答ありがとうございます。
=TRIM(LEFT(SUBSTITUTE(TRIM(RIGHT(SUBSTITUTE("→"&A1,"→",REPT(" ",100)),100)),"[",REPT(" ",100),1),100))

の数式で試してみた所、思い通りの抜き出しが出来ました。
ありがとうございました。