今回も「文字列を操作する関数」について具体的な例を紹介していこう。今回のテーマは「文字列データの引き算」だ。文字列の足し算(結合)は「&」(アンド)の演算子で手軽に実行できるが、引き算を行うときは関数を使わなければならない。文字列データを関数で加工するときの一例として参考にして頂ければ幸いだ。
文字列データの引き算を行うには?
文字列データから「特定の文字」を削除したいケースもあるだろう。前回の連載では「住所」から「都道府県」を抜き出す方法を紹介した。これに関連する作業として、「住所」から「都道府県以降の住所」を抜き出す場合を例に具体的な手順を紹介していこう。
このような場合は、文字列を置換する「SUBSTITUTE」や「REPLACE」といった関数、ならびに文字数をカウントする「LEN」などの関数を使用する。
前回の連載では「住所」から「都道府県」を抜き出す方法を3つ紹介した。どの方法を使っても、以下の図のような結果を得ることができる。
単に「都道府県だけのデータが欲しい」というのであれば、これで作業は終了となる。しかし、「住所を都道府県とそれ以降に分割したい」という場合は、「都道府県以降の住所」を抽出する作業も行わなければならない。
まずは、「都道府県以降の住所」を記載するための列を用意しよう。
続いて、何らかの方法で「都道府県以降の住所」を作成(抽出)していく。この作業の最も簡単な処理方法は、「住所」から「都道府県」を引き算すればよい、と考えられる。無理を承知で試してみよう。以下の図のように(住所)-(都道府県)の数式を入力する。
「Enter」キーを押して数式を実行すると、計算を正しく実行できないことを示す「#VALUE!」のエラーが表示される。
このように単純な数式で文字列データを操作できるとよいのだか、残念ながらExcelにそのような機能は用意されていない。「&」で文字を結合(足し算)することは可能であるが、削除(引き算)をする演算子は用意されていない。これを実現するには関数を利用する必要がある。