◎ 文字列を検索し位置を返す … FIND(検索文字列,対象,開始位置)
検索文字列が先頭から何番目かを返します。開始位置を省略すると先頭から検索し、指定するとその位置から検索して先頭から何番目かを返します。
例:あいう★えお★かきくけこ
FIND("★",A1) →
4 |
FIND("★",A1,3) →
4 |
FIND("★",A1,5) →
7 |
◎最初の★の位置が返る |
◎最初の★の位置が返る |
◎2個目の★の位置が返る(5文字目から検索) |
◎
2個目を検索し位置を返す … FIND(検索文字列,対象,FIND(検索文字列,対象)+1)
同じ文字列の2個目を検索したい場合は、開始位置を1個目以降として検索します。開始位置はFIND関数で最初の検索文字の位置を出し+1とします。
例:あいう★えお★かきくけこ
FIND("★",A1,FIND("★",A1)+1)
→ 7 ◎2個目の★の位置が返る |
◎
開始位置で指定したFIND("★",A1)+1で、最初の★の位置+1が返り(5)その位置から★を
検索するので2個目の★の位置(7)が返ります。 |
◎
2個目の検索文字列を削除する … SUBSTITUTE(対象,検索文字列,置換文字列,置換対象)
SUBSTITUTE関数は【置換対象】で●個目を指定できます。
SUBSTITUTE("あ★い★う★え★お","★","",4)
→ あ★い★う★えお
◎4個目の★が削除 |
補足:SUBSITUTEでは●個目を指定できるので●個目の文字を他にない文字に置換し、特定の文字を取り出す等も可能です。例えば、東京★世田谷★松原★5丁目
→ 5丁目を返したい→ substitute("★",a1,"◎",3) →
東京★世田谷★松原◎5丁目 (3個目の★を◎に置換)→
MID(a2,FIND("◎",a2)+1,10) → 5丁目
|
◎
検索文字列がいくつあるかを数える … LEN(文字数) - SUBSTITUTE(対象,検索文字列,置換文字列)
例:あ★い★う★え★お
LEN(A2)-LEN(SUBSTITUTE(A2,"★","")) → 4
◎全体文字数マイナス★を削除した文字数 |
◎
例題:ここでの操作方法は一例です。他の関数を使った方が早い場合もあります。
■応用(1)
2個目の★の後の文字列を抜き出しましょう…RIGHT関数又はREPLACE関数
=RIGHT(A2,LEN(A2)-FIND("★",A2,FIND("★",A2)+1))
文字全体数−2個目の★の位置で学校名の文字数を出し、右から抜き出す
……… 他の方法 ………
=REPLACE(A2,1,FIND("★",A2,(FIND("★",A2)+1)),"")
先頭から2個目の★の位置までを空白で置換する
■応用(2)
2個目の★以降を削除する … LEFT関数またはREPLACE関数
=LEFT(A2,FIND("★",A2,FIND("★",A2)+1)-1)
左から2番目の★の位置マイナス1までを取り出す
……… 他の方法 ………
=REPLACE(A2,FIND("★",A2,FIND("★",A2)+1),100,"")
2個目の★の位置から100字分、空白に置換する
Replace(文字列,開始位置,文字数,置換文字列) |
|