Excelを使えることが、ビジネスパーソンに不可欠のスキルであることは誰もが感じていることでしょう。しかしながら、「Excelの基本的な使い方は知っているけれど、それをビジネスの実務に応用できていない」という人も少なくないようです。このコラムは『 逆引き!Excel実務ワザ大全 』(日経PC21編、日経BP)の中から、ビジネスの現場で役立つ実践テクニックを紹介します。今回は「データ分割」を自在にこなす達人ワザです。
【目次】
逆引き!Excel実務ワザ大全
第1回
Excelで名簿の「重複データ」を素早く洗い出す。誤削除も防止
第2回
Excelで横棒グラフが上下逆順になるのはなぜ? 解決法は?
第3回 Excelで住所を「都道府県」と「市区町村以下」に分割する達人ワザ
都道府県別の集計などをするために、名簿の住所欄を都道府県と市区町村以下に分割したいケースがある(図1)。都道府県の文字列と市区町村以下の文字列をそれぞれコピペし、1つずつ分割していくのは気が遠くなる作業だ。残念ながらExcelには、これを一発で実現する機能は備わっていない。何か方法はないのだろうか。
4文字目が「県」なら……
実は、ちょっとしたアイデアと関数の応用ワザを使えば、この作業は5分もかからず完了させられる。47の都道府県名を調べてみると、大半の都道府県名は3文字で、例外的に4文字のものが3つだけあることがわかる。「神奈川県」「和歌山県」「鹿児島県」の3県だ。これらがすべて「県」である点に注目すれば、「住所の4文字目が『県』なら、神奈川県、和歌山県、鹿児島県のいずれかである」と判断できる。それ以外の都道府県名はすべて3文字というわけだ(図2)。
つまり、「住所の4文字目が『県』なら4文字分を切り出し、そうでなければ3文字分を切り出す」という場合分けを行えば、すべての住所を一括処理できる。文字列の切り出しには、LEFT(レフト)関数を使えばよい(図3)。
場合分けには、IF(イフ)関数を使う。引数「論理式」に指定した条件が成り立つかどうかに応じて、「値が真の場合」と「値が偽の場合」の2つの処理に分岐できる関数だ。住所の4文字目は、MID(ミッド)関数を使って切り出し、それが「県」と等しいかどうかを判定する条件式を、IF関数の「論理式」に指定する(図4)。
市区町村以下の切り出しには、SUBSTITUTE(サブスティテュート)関数を使うのがスマート。元の住所から、都道府県名を削除するのだ。元の住所を引数「文字列」に、先に切り出した都道府県名を「検索文字列」に、「""」(半角ダブルクォーテーション2つ)を「置換文字列」に指定すればよい。「""」は「空白」(文字列なし)の意味になるので、これに置換する操作で、都道府県名を削除した残りを取り出せる。
図4の2つの数式を、住所録の各行にコピーすれば、住所の分割は完了。関数で切り出した結果は、一度「コピー」して「値」として貼り付けることで、通常の文字列に置き換えられる。「値」として貼り付けるには、「貼り付け」ボタンの下の「∨」をクリックして「値の貼り付け」欄にある「値」のアイコンをクリックすればよい。
『 逆引き!Excel実務ワザ大全 』
市販No.1パソコン誌「日経PC21」が、ビジネスの現場で役立つExcelの実務ノウハウを徹底的に解説。「こうしたい」「こんなことはできないか?」という事例を基に、解決する方法や実践テクニックを多数集めました。
日経PC21 編/日経BP/1738円(税込み)