【Excel関数小技】指定の文字数を抜き出すには?--文字列から「都道府県」のみを抜き出す方法
データベースを数多く取り扱っているビデオリサーチでは、日々データの収集や分析・解析業務を行っています。
このシリーズでは、当社の日々の業務で使用している【エクセル関数】を使った『小技』を紹介します。
【事例】すべて1列にまとまっている「住所」を、「都道府県」と「それ以降の住所」に分割したい
上記のように、「東京都千代田区一番町1-1」がすべて1つのセル(列)に入っている場合、プルダウンで「東京都にお住まいの方」に絞り込めなかったり、都道府県別に件数をカウントすることが難しくなってしまいますよね。
「都道府県」と「それ以降の住所」に分けたい場合は、LEFT関数とMID関数を使用します。
STEP①:「都道府県」を抜き出す
=LEFT(A2,3)
=セルA2の、左から3文字分を抜き出す
LEFT関数は、「セルの左から●文字分抜き出す」ことができる関数です。
上記の例では、セルA2に記載された「東京都千代田区一番町1-1」の左から3文字分、つまり「東京都」の3文字を抜き出してセルC2に記載することができました。
=MID(A2,4,100)
=セルA2の、左から4文字目以降を、100文字分抜いてくる
MID関数は、「セルの左から●文字目以降を〇文字分抜き出す」ことができる関数です。 上記の例では、セルA2に記載された「東京都千代田区一番町1-1」の左から4文字目、"千"以降の100文字を抜き出してセルC2に記載しています。
ここで「100」文字としたのは、「住所」情報に100文字以上使うものがないと想像されたためであり、100という数字に深い意味はありません。
「100文字以上あるかもしれない」と不安に思った方は「200」文字や「1000」文字などにしても結果は同じになります。
また、「100」などのアバウトな数ではなく、正確な文字数で抜き出したいとお考えの方はLEN関数を使うという考え方もできます。
【LEN関数とは?】LEN関数は、「1セル内に含まれる文字数を数える」関数です。
詳しくはコチラ→エクセル関数で、文字数制限にひっかかっていないかチェックしたい
上記のやり方の場合、都道府県名が3文字であることを前提に関数を組んでいるため 都道府県名が4文字ある「神奈川県」「和歌山県」「鹿児島県」が含まれる住所の場合、以下のようになってしまいます。
そこで、「神奈川県」「和歌山県」「鹿児島県」が含まれる可能性のあるリストを使用する際は、以下のようにひと手間かけて工夫するとよいでしょう。
・A列「住所」から「神奈川県」「和歌山県」「鹿児島県」を探して、別の列にフラグを立てる
*この例ではB列にフラグ立て
↓
・B列でフラグが立った行に、プルダウンで絞り込みをかける
↓
・絞り込まれた一番上の行の関数を
=LEFT(A8,4) セルA8の、左から4文字分を抜いてくる
=MID(A8,5,100) セルA8の、左から5文字目以降を、100文字分抜いてくる
と1文字分ずつずらし、残りの行にもオートフィルで反映させる
いかがでしたか?
関数には無限の組み合わせや使い方があり、今回紹介した例はその一例にすぎません。
本連載は今後も不定期で更新予定です。日々の業務の効率化にお役立ていただけましたら幸いです。