教えて!HELPDESK      Excel     Word      Outlook      Power Point      Windows

 

 

Excel2010  2個目の文字の位置を返す(FIND関数)

 

 

 

 


 

 

 


 

 

 


 

 

 

◎ 文字列を検索し位置を返す … FIND(検索文字列,対象,開始位置)

検索文字列が先頭から何番目かを返します。開始位置を省略すると先頭から検索し、指定するとその位置から検索して先頭から何番目かを返します。

 

例:あいうえおかきくけこ

FIND("★",A1) → 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(文字列,開始位置,文字数,置換文字列)

 

 

教えて!HELPDESK      Excel     Word      Outlook      Power Point      Windows