今回は、MID 関数 の応用編として、複数の関数を組み合わせて住所から都道府県を抜き出す方法をご紹介していきます。
なお、当サイトでは Excel ではなく Numbers を使って解説しています。
目次
住所から都道府県を抜き出す
47都道府県のうち、「神奈川県」「和歌山県」「鹿児島県」の3県以外はすべて3文字であることに着目します。
住所の左から4文字目をまず調べる式を書き、4文字目が「県である場合は4文字」「県でない場合は3文字」を取り出すように条件を設定します。
IF 関数 | 条件を指定し、その条件を満たす時と満たさないときとで異なる処理を実行 |
MID 関数 | 文字数を求める → ここでは 4文字目が「県」かどうかを調べるために必要 |
LEFT 関数 | 文字列の左端から指定した文字数を抜き出す → ここでは 3文字目 または 4文字目まで |
まずは 各関数の式をおさらいしましょう。
IF 関数の式の確認
IF 関数は、「条件式」「値が真の場合」「値が偽の場合」の3つの要素で構成されます。
条件を満たすときを「TRUE(真)」、満たさないときを「FALSE(偽)」といいます。
= IF ( 条件式 , 値が真の場合 , 値が偽の場合 )
MID 関数の式の確認
MID 関数は、「対象文字列」「開始位置」「文字列の長さ」の要素で構成されていますが、「開始位置」を省略すると、「対象文字列」の先頭からの位置を求められます。
= MID ( 対象文字列, 開始位置, 文字列の長さ )
対象文字列 | 抜き出す文字列のセルを指定 |
開始位置 | 「対象文字列」から抜き出す文字の開始位置を指定 |
文字列の長さ | 抜き出す文字列の数を指定 |
LEFT 関数 の式の確認
= LEFT ( 対象文字列, 文字列の長さ )
対象文字列 | 文字列を抜き出すセルを指定 |
文字列の長さ | 抜き出す文字数を指定 |
関数を書く
まず、関数の式の立て方を順を追って整理してみましょう。
1 | IF 関数 を使用して住所の左から4文字目を調べて「県」か「そうでないか」で条件を分岐させ、「値が真の場合」と「値が偽の場合」を指定する |
2 | IF 関数の「条件式」に、 MID 関数を入れ子にする |
3 | MID 関数で、住所の左から4文字目が「県」の場合の式を入力 |
4 | LEFT 関数を用いて、IF 関数の「値が真の場合」に4文字目までを、「値が偽の場合」に3文字目までを抜き出すように設定する |
Step 1
セルにカーソルを合わせ、「= IF」と入力するか、「挿入」メニューから「新規数式」を選択します。
「論理と情報」から IF を選択するか、検索窓に「IF」と入力しても探すことが出来ます。「関数を挿入」をクリックします。
Step 2
まず、住所の左から4文字目を調べる式を書き、4文字目が「県である場合は4文字」「県でない場合は3文字」を取り出すように条件を設定します。
IF 関数の「条件式」に、文字数を求める MID 関数を入れ子にします。
= IF ( MID ( 対象文字列, 開始位置, 文字列の長さ ) , 真の場合, 偽の場合 )
Step 3
入れ子にした MID 関数の「対象文字列」を指定しましょう。ここでは住所が入力されているセル「B2」を選択します。
= IF ( MID ( B2, 開始位置, 文字列の長さ ) , 真の場合, 偽の場合 )
Step 4
入れ子にした MID 関数で、住所の左から4文字目が「”県”である」という条件を書いていきます。
= IF ( MID ( B2, 4, 1 ) =”県”, 真の場合, 偽の場合 )
・関数で文字列(テキスト)を指定するときは、ダブルクォーテーション「 ” 」で囲むのを忘れないようにしましょう。
Step 5
LEFT 関数を用いて「値が真の場合」には「4文字目までを返す」という式を書きます。
= IF ( MID ( B2, 4, 1 ) = “県”, LEFT ( B2, 4 ), 偽の場合 )
Step 6
LEFT 関数を用いて「値が偽の場合」には「3文字目までを返す」という式を書きます。
= IF ( MID ( B2, 4, 1 ) = “県”, LEFT ( B2, 4 ), LEFT ( B2, 3 ) )
Step 7
Enter を押して式を反映させたら、黄色のハンドルを下にドラッグしてセルを自動入力させます。
入力結果
Enter を押して式を反映させたら、指定した条件の通りになっているか確認しましょう。