2020.10.23 などの日付があり、月の「10」を抽出したい場合のやり方を紹介します。
通常は、MID関数で以下のような数式を入力すると抽出することが可能です。
=MID(A3,6,2)
しかし、月が一桁の場合に上手くいきません。
FIND関数を使って複数の位置を調べる
そこで、まずFIND関数で月の数字が文字列の何番目にあるかを確認します。
最初の” . “の位置を確認するために、任意の場所に
=FIND(".",A3)
を入力します。・・・①
すると「5」が返されます。文字列の5番目に” . “があることが分かります。
→そのため、月の数字が始まる文字数は、最初の” . “の次から始まるので、
=FIND(".",A3)+1
となります。
「6」が返されます。
次に2番目の” . “の位置を確認します。ここで問題となるのは、「2020.10.23」という文字列には” . “が2つあるため、通常のFIND関数で検索すると最初の” . “の位置である「5」が返されてしまいます。
FIND関数は、
=FIND(検索文字列,対象,開始位置)
で表されるため、「開始位置」を設定して問題を解決できます。
開始位置を最初の” . “の位置以降、すなわち、=FIND(“.”,A3) に +1 をします。
開始位置を設定して、改めて2番目の” . “の位置を確認するために、
=FIND(".",A3,FIND(".",A3)+1)
を入力します。・・・②
これで「8」が返されます。つまり2番目の” . “の位置は文字列の8番目にあることが分かります。
次に、” . “と” . “の間の文字数を確認するために
(最初の” . “の位置)-(2番目の” . “の位置)-1
② ー ① ー 1 をして、
=FIND(".",A3,FIND(".",A3)+1)-FIND(".",A3)-1
と入力します。
すると「2」が返されます。
これでMID関数を使う準備ができました。MID関数は、
=MID(文字列,開始位置,文字数) で表されます。
そのため、上で確認した数式を入力すると、
=MID(A3,FIND(".",A3)+1,FIND(".",A3,FIND(".",A3)+1)-FIND(".",A3)-1)
となります。
これで「2020.10.23」から「10」が抽出されました。