Google spread sheetで銘柄コード整形

これは完全に備忘録ではある。似たような困り事があったときに戻れるように記す。
無能は普段Googleスプレッドシートを活用していないので関数に疎い。

Googleスプレッドシートでセル内に余計な任意の文字があります。
これを一括で削除するような方法はありますか?

例えば、B列には銘柄コードが入っているのですが、『4061.T』のように「.T」が余計に含まれています。

銘柄コードの4桁だけが欲しいのです。
4桁の数字だけになれば、自作関数に銘柄コードを含まれられるのになぁと思っています。

何か方法があれば教えてください。

削除できる関数はいくつかある。用途によって使い分けよう。

はい、簡単に一括削除できます 👍

Googleスプレッドシートなら 関数で一瞬 です。

今回は
4061.T → 4061

のように「.T」を消して、4桁の数字だけ取り出したいのですね。



✅ 方法①(いちばん簡単):SUBSTITUTE関数

「.T」を消すだけならこれが最短です。

=SUBSTITUTE(B2,”.T”,””)

これを入力すればOKです。



✅ 方法②(より安全):LEFT関数で4桁だけ取得

「必ず4桁だけ欲しい」ならこちら。
=LEFT(B2,4)

これなら
4061.T → 4061

になります。


✅ 方法③(おすすめ):正規表現で数字だけ抽出

今後
4061.T
4061.JP
4061abc

みたいなデータが混ざる可能性があるなら、これが一番強い。

=REGEXEXTRACT(B2,”[0-9]{4}”)

意味:

  • [0-9] → 数字
  • {4} → 4桁

👉 「4桁の数字だけ抜き出す」関数です。



✅ 列全体を一発で処理したい場合(ARRAYFORMULA)

C2にこれを入れると、B列全体を自動処理します。

=ARRAYFORMULA(IF(B2:B=””,””,REGEXEXTRACT(B2:B,”[0-9]{4}”)))

これを一つのセルに入力すると、その列の以下のセルに自動でB列全体の入力が行われる。

追記:数値として扱いたい時のVALUE()

参考までにもしこの4桁を数値として扱いたいなら、最後に VALUE() をかませればOKです。

例:
=VALUE(REGEXEXTRACT(B2,”[0-9]{4}”))

Visited 4 times, 6 visit(s) today