#利用シチュエーション
- 特定の文字列から前・後ろの文字列を抽出したい場合
- 特定の文字列から特定の文字列までの間を抽出したい場合
#記述方法
特定の文字列から前を抽出する方法
=LEFT(A2,FIND("/",A2)-1)
前提条件
A2のセルに「qiita.com/AquaMeria」と記載されている
抽出結果
qiita.com
解説
FIND関数で特定の文字列が何番目にあるかを探し、その数から1を引いた分だけを抜き出す
####個々の関数の説明####
LEFT関数は文字数を指定し、先頭(左端)から指定した文字数分の文字列を抽出
書き方 利用例 書式 LEFT(文字列,文字数) LEFT(A1,1) 引数1 取り出したい文字列を含む文字列を指定 A1 引数2 取り出す文字数を指定 1
FIND関数は指定した文字列から指定した検索文字列の位置を返す
書き方 利用例 書式 FIND(検索文字列,対象,開始位置) FIND("/",A1,1) 引数1 検索したい文字列を指定 / 引数2 検索文字列を含むセル参照又は文字列を指定 A1 引数3 検索を開始する位置を指定(省略可能) 1
###Tips
特定文字列の二番目より左を抽出する方法
FIND関数の第3引数(検索開始位置)に一つ目の検索文字列より後ろから検索し始めるように指定。
=LEFT(A3,FIND("/",A3,FIND("/", A3)+1)-1)
特定の文字列から後を抽出する方法
=RIGHT(B1,LEN(B1)-(FIND("/",B1)))
前提条件
B1のセルに「qiita.com/AquaMeria」と記載されている
抽出結果
AquaMeria
解説
LEN関数で文字列の長さを算出。
そこからFIND関数で特定の文字列の位置を引いた数を右から抽出
####個々の関数の説明####
RIGHT関数は文字数を指定し、先頭(右端)から指定した文字数分の文字列を抽出
書き方 利用例 書式 RIGHT(文字列,文字数) RIGHT(A1,1) 引数1 取り出したい文字列を含む文字列を指定 A1 引数2 取り出す文字数を指定 1
LEN関数は引数に指定した文字列の文字数を返す
書き方 利用例 書式 LEN(文字列) LEN(A1) 引数 文字数を数えたい文字列をセル参照や文字列などで指定 A1
###Tips
特定文字列の二番目以降より右を抽出する方
FIND関数の第3引数(検索開始位置)に一つ目の検索文字列より後ろから開始を指定。
=RIGHT(A3,LEN(A3)-(FIND("/",A3,FIND("/",A3)+1)))
特定の文字列から特定の文字列までの間を抽出
=MID(C1,FIND("@",C1)+1,FIND(".",C1)-1-FIND("@",C1))
前提条件
C1のセルに「AquaMeria@mail.com」と記載されている
抽出結果
解説
FIND関数で文字列のはじめと終わりを算出。
そこからMID関数ではじめから終わりを抜き出す。
####個々の関数の説明####
MID関数は指定したセルに入力されている文字列について指定した場所から指定した文字数の文字を返す
書き方 利用例 書式 MID(セル,抽出開始位置,抽出文字数) MID(C1,2,3) 引数1 取り出したい文字列を含む文字列を指定 C1 引数2 抽出したい文字列の先頭文字の位置を指定 2 引数3 取り出す文字数を指定 3
###Tips
特定文字列の二番目以降から特定文字列の二番目以降を抽出する方法
先頭文字の位置を一つ目の検索文字列より後ろを指定。
取り出す文字数も特定文字数の二つ目の終わりと始まりから文字数を抽出
=MID(A3,FIND("@",A3,FIND("@",A3)+1)+1,FIND(".",A3,FIND(".",A3)+1)-1-FIND("@",A3,FIND("@",A3)+1))
#サンプル
- URLのドメインのみを抽出
<!-- http//の2つめの/より後ろからドメイン終了後の/の間を抽出 -->
=MID(A2,FIND("/",A2,FIND("/",A2)+1)+1,FIND("/",A2,FIND("/",A2)+2)-1-FIND("/",A2,FIND("/",A2)+1))
- URLに含まれるパラメータを抽出する
<!--
パラメータは一つずつ抽出。(下記は一つ目のパラメータを抽出する例)
URLパラメータは「?x=xx」という形になるので、?から右側を抽出。
複数の場合は「?x=xx&?y=yy」となるので、?から&の中間を抽出。
-->
<!-- パラメータが一つの場合 -->
=RIGHT(A2,LEN(A2)-(FIND("=",A2)))
<!-- パラメータが複数の場合 -->
=MID($A10,FIND("=",$A10)+1,FIND("&",$A10)-1-FIND("=",$A10))