住所から都道府県を取り出す
最後に、住所から都道府県を取り出してみましょう。都道府県のうち、‘都’は「東京都」、‘道’は「北海道」、‘府’は「大阪府」「京都府」とすべて3文字ですが、‘県’は「埼玉県」「広島県」などの3文字だけでなく、「神奈川県」「鹿児島県」などの4文字もあるため、簡単にLEFT関数で取り出すことはできません。
少しややこしいですが、順番に理解をしながら数式を作成していきましょう。
- セルD2を選択する。
- [関数の挿入]ボタンをクリックし、[関数の挿入]ダイアログボックスを表示する。
▼ 図04-01 セルD2を選択し、[関数の挿入]ボタンをクリック
- [関数の分類]ボックスから[論理]を選択する。
- [関数名]ボックスから[IF]を選択する。
- [OK]ボタンをクリックし、[関数の引数]ダイアログボックスを表示する。
▼ 図04-02 [関数の挿入]ダイアログボックス
- [論理式]ボックスにカーソルを置いた状態で、数式バー左端の[関数]ボックスの一覧から[その他の関数]を選択する。
- [関数の挿入]ダイアログボックスが表示されたら、[関数の分類]から[論理]を選択する。
- [関数名]ボックスから[OR]を選択し、[OK]ボタンをクリックして[関数の引数]ダイアログボックスを表示する。
▼ 図04-03 [関数の挿入]ダイアログボックス
-
[論理式1]ボックスに「MID(E2,3,1)={"都","道","府","県"}」と入力する。
※ MID関数は指定した開始位置から文字を取り出す関数です。今回は、セルE2の3文字目から1文字取り出します。▼ 図04-04 OR関数の[関数の引数]ダイアログボックス数式の結果を{}(中カッコ)で囲むことにより、指定した条件を順番に確認していきます。論理式1〜4に「MID(E2,3,1)=”都”」「MID(E2,3,1)=”道”」….と指定しても同じ結果になります。
- [OK]ボタンは押さずに、数式バー内の「IF」をクリックします。
▼ 図04-05 数式バーを使い、関数の切り替え
- IF関数の[関数の引数]ダイアログボックスが表示されたら、[真の場合]ボックスに「LEFT(E2,3)」と入力する。
※ 3文字目が「都道府県」のいずれかの場合は、左から3文字を抜き出します。 -
[偽の場合]ボックスにカーソルを移動し、数式バーの[関数]ボックス一覧から[IF]を選択する。
※ 4文字目が「県」の場合の条件式を作成します。▼ 図04-06 IF関数を選択 - IF関数の[関数の引数]ダイアログボックスが表示されたら、[論理式]ボックスに「MID(E2,4,1)="県"」と入力する。
※ 4文字目が「県」ならばTrueを返します。 - [真の場合]ボックスに「LEFT(E2,4)」と入力する。
※ セルE2内の文字列から左4文字を取り出します。 - [偽のボックス]に「""」と入力する。
※ 条件を満たさない場合は、入力間違いの可能性があるため空欄にします。 - [OK]ボタンをクリックする。
▼ 図04-07 数式をコピー
セルD2に結果が表示されます。
▼ 図04-08 住所から都道府県を取り出す オートフィル機能を使用して数式をコピーし、全員分の都道府県を確認しましょう。
▼ 図04-09 数式をコピーオートフィル機能で数式をコピーすると…
数式がコピーされ、都道府県が取り出されます。
また、E列の住所には都道府県名が残ってしまいますので、都道府県名を除いて取り出したい場合は以下のような数式で取り出せます。
▼ 図04-10 住所から都道府県を除いて取り出すE列全体の文字数からD列の都道府県名の文字数を引いた分の文字を取り出せました。
なお、不要になったA列・E列を削除してしまうと、下図のように参照先エラーとなってしまいます。
▼ 図04-11 参照先エラーA列とE列を削除すると、数式の参照先が見つからない「#REF!」エラーが表示されます。
元となるデータを削除する前に、[コピー]-[値として貼り付け]を行うことを忘れないようにしましょう。
▼ 図04-12 完成値として貼り付けると、数式バーにも文字列が表示されます。
いかがでしたか?このように文字列を操作する関数を組み合わせることで、セル内から必要なデータを取り出すことができます。
外部データを取り込んだ場合などに使用できると思いますので、ぜひいろいろなパターンを試して覚えておきましょう。