【Tableau関数】FIND・FINDNTH関数の使い方をわかりやすく解説!指定文字の位置を返す

今回は指定文字の位置を返してくれるFIND関数を解説します。

目次

FIND関数とは?

指定した文字の位置を返してくれます。
先頭から検索していき指定文字が初めて見つかった場所を返します。

例えば
“福井県”のうち”福”を検索すると1が返ってきます。
“福福福井県”でも同様に1が返ってきます。
“井福県”なら2が返ってきます。

見つからない場合は0を返します。

FIND関数の書式

FIND関数の書式
FIND([指定文字列],”検索文字”,(開始位置))

引数には検索対象となる指定文字列、検索文字の順に指定する必要があります。

開始位置は任意です。
デフォルトは先頭からなので、2とすれば2文字目から検索を始めます。

※引数(ひきすう)とは、()の中に入れる値のことです。
関数にこれ使ってと渡す値です。
からっぽだと関数サイドも何をどう計算していいかわからないですから。

複数の文字を指定して検索したい場合

FIND(
    REGEXP_REPLACE([都道府県]
    ,'埼玉県|神奈川県|群馬県|茨城県|栃木県',"置き換え文字")
,"置き換え文字")

ちょっと強引ですが
①REGEXP_REPLACEは正規表現パターンに一致した場合に指定文字に置き換える
②置き換えた文字の位置をFINDで検索する
↑ならできます。

n 番目に現れる位置を取得したい場合はFINDNTH関数

FINDNTH関数の書式
FINDNTH([指定文字列],”検索文字”,n)

FINDにn番目が追加されたものがFINDNTH関数です。

FIND関数の使い道

アドレス分解

LEFT([アドレス],FIND([アドレス],"@")-1)

FIND関数で@の位置を検索して、LEFT関数でその一つ前までを取得しています。

当サイトでいえば
mail@fc-datascience.comなので
@の位置は5です。
LEFTで-1して4を取得すると”mail”が返ってきます。

もちろん逆もOKで、↓だとfc-datascience.comが返ってきます。

MID([アドレス],FIND([アドレス],"@")+1)

ちなみにSPLITならもっと簡単です。

おわり

もっと良い使い方、おかしい点、アドバイスなどあれば気軽にコメントください!

福井AI/データサイエンス協会

読んでくれてありがとうございます!!

Comment

コメントする

目次