プロが教えるわが家の防犯対策術!

特定の文字列を複数抜き出したいです。
関数かGAS、あるいは条件付き書式等で判別できたら教えて下さい

特定の文字列以外は不規則な文章から
Tから始まる6桁の文字列を抜き出したいです。
例:あいうえおT12345かきくけこ
→T12345

6桁の文字列は1つとは限らず、10個ほどあることもあります。
6桁の文字列が複数ある場合、それが同じこともあれば違うこともあります。
例1:T12345
  T12345
T12345
例2:T12345
  T12345
T31245

一つ抜き出すのはIf,left,rigft関数を使って出来たのですが、二つ以上抜き出すのが分かりません。

6桁の文字列が文章の中に複数ある場合、それが同じものが複数なのか、別の文字列が混じっているのかだけでも判別できたら助かります。

A 回答 (1件)

こんばんは



>関数かGAS、あるいは条件付き書式等で判別できたら教えて下さい
GASとあることから、Googleスプレッドシートでのご質問と勝手に解釈しました。

>6桁の文字列は1つとは限らず、10個ほどあることもあります。
結果をどのように表示したいのか不明なので、とりあえず、
 「指定文字列群が、それぞれ何回出現するかを表示する関数」
として考えてみました。

A1:A10に指定する文字列が記入されているとします。
 A1 T12345
 A2 あいうえお
 A3 かきくけこ
 A4 さしすせそ
で、残りは空白とします。

この時に、走査対象文字列がC1セルにあるとします。
仮に
 C1 あいうえおT12345かきくけこT12345
とします。

この状態で、例えばC2セルに
=join(",",ARRAYFORMULA(if(A1:A10="","",(len(C1)-len(substitute(C1,A1:A10,"")))/len(A1:A10))))
の式を入力しておくと、結果は
 2,1,1,0,,,,,,
となり、A1:A10の文字列の出現回数がカンマ区切りで表示できます。
(A列が空白の場合は0表示がうるさいので、空白文字列(="")にしてあります)

※ 要領としてはこんな感じで可能と思いますが、実際にどのような結果をお求めなのか不明なので、お求めの結果を表示できるようにアレンジしてみてください。
    • good
    • 0
この回答へのお礼

ありがとうございます。
これでいうと、自分の求めてる指定の文字列は1000以上あるので1000以上結果が出ることになります。
このまま使うのは現実的ではないですが、凄くヒントになりました。
join関数便利ですね

お礼日時:2023/10/01 17:33

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

このQ&Aを見た人はこんなQ&Aも見ています


このQ&Aを見た人がよく見るQ&A