パソコンのある風景|パソコンスクール庚壬塾(こうしんじゅく)

筑紫野市、小郡市のパソコンスクール庚壬塾(こうしんじゅく)塾長のブログ

Tips

セルの先頭から○文字目以降を取り出すには(エクセル)

昨日、住所録データの編集方法で、セル内の改行を一括して削除する方法についてご紹介しました。

その後、1行になったデータから、LEFT関数で郵便番号を取り出すところまで書いていたのですが、実はそこから先はどうやって、住所の部分を取り出すのか、とご質問いただきました。

実は、ここから先はちょっと頭をひねる必要があります。

image001_14

先に、D3のセルに818-0025 だけ取り出しました。

ちなみに、D3のセルの関数は、=LEFT(C3,8)

「C3のセルの左から数えて8文字分だけ、ここに取り出してね!」っていう意味です。

取り出したい文字数が決まっている場合はこれでOK。

さて、今度は、住所だけを取り出したいですね。住所の文字が全員同じなら、RIGHT関数を使って、右から何文字分、と簡単にできそうです。

でも、住所は、郵便番号と違って、それぞれ文字数が一定ではありませんので、右側から何文字、という取り出し方に少し工夫が必要なのです。

E3のセルには、つぎのような関数を入れます。

=RIGHT(C3,LEN(C3)-8)

RIGHT関数は、LEFTの反対。つまり、セルの右側から指定した文字数分だけ数えて取り出す関数です。

そして、LEN関数は、指定したセル(C3)に何文字あるか返してくれる関数です。

LEN関数で算出された数から先頭の郵便番号の8文字分を引けば、そのセルに入力されている住所のデータの文字数になりますね。それを、取り出します、という意味の関数です。

このやり方なら、セルによってまちまちの文字の長さであっても、LENで数えてくれるので、きちんと取り出してくれるわけですね。

これで、住所も取り出せました。でも、このままではまだ不十分です。最後の仕上げをしましょう。

郵便番号と住所が一緒になっているB3のセルは必要なくなりましたので削除しますが、このままで削除すると、このセルを参照して関数を入力しているほかのセルでエラーが起きてしまいます。

以下の手順に沿って作業してください。

①D列とE列を範囲選択してコピーします。

②同じ場所(D列とE列)を範囲選択し、右クリックして、「形式を選択して貼り付け」をクリックします。

③「値」をクリックし、OK。

以上の手順で、数式や関数を使ったセルも、数値や文字を直接入力したセルと同じ状態になりました。どのバージョンでも上記の方法で大丈夫だと思います。

これで、C列の住所を削除しても大丈夫です。

以上です。

ちなみに、LEFTやRIGHT関数はMOS2007の対策では一度勉強をしていただいています。

そこでは指定した文字数より後の文字列を取り出すMID関数なども出てくるので、たとえば、MID関数で、9文字目以降の住所を取り出すということも可能です。

その場合は、式は=MID(C3,9,LEN(C3)-8)になります。

ソーシャル

-Tips