エクセルやGoogleスプレッドシートを使いこなすには基本となる鉄則をご存じでしょうか?
それは、1つのセル内には単一のデータしか入力しないということです。基本的に、エクセルやGoogleスプレッドシートにおいてはデータを蓄積し、それを用いて例えばDMを発送したり、成績を昇順に並び替えたりと、後々に様々な処理をすることとなると思います。
その処理の自動化を図る基本として、1つのセル内には複数のデータを入力せず、単一のデータをそれぞれ複数のセルに入力していくというのが、正しいデータベースの作り方なんですね。
具体的に言うと、買い物リストを作るとします。りんごとみかんとキャベツを買いたいとすれば、1つのセルに全てを入力するのではなく、3つのセルに分けてそれぞれ記入をしていくべきなのです。そうすれば、追加で値段の情報を加えたり、個数の情報を加えたりするのも楽になりますからね。
でも、スプレッドシートを多人数で使っていると、自分勝手に入力する人が現れてデータがごちゃごちゃになってしまうことがあります。
スプレッドシートは最小限まで区切って入力が原則
やはり入力作業は人間が行うことなので、認識の違いによって、1つのセルに複数のデータを入力してしまうことはあります。
上記の買い物リストのような、本来箇条書きにすべきようなものは、割と意識すれば入力を誤らずに済むものですが、例えば氏名や電話番号、住所等の情報について言うと、誤入力とは言わないまでも、望ましくない形で1つのセルに多すぎる情報が格納されていることがよくあります。
基本的には、セルに入力する情報は最小限まで区切るべきです。氏名で言えば、名字と名前は同じセルに入力すべきではありません。しかし、フルネームで入力されてしまう。
電話番号で言えば、ハイフンごとに区切って3桁か4桁ごとに分けて入れるべきです。しかし、電話番号がフルで入力されてしまう。
住所で言えば、都道府県、区市町村、丁目、番地、号、マンション名、部屋番号と分けて入力すべきです。しかし、まるごと入力されてしまう。もちろん、こういった例は間違いという訳ではないのですが、後々の処理を考えると、効率を落としてしまうことにつながるのです。
こういった状況を前にしたとき、役に立つのが今回紹介するMID関数です。
スプレッドシートのMID関数の役割
MID関数の役割を簡単に説明すると、セル内の特定の位置から指定した文字数を取り出すというものです。
実際の使用例としては、氏名から名字と名前を切り離したり、電話番号をハイフンごとに切り離したりすることができます。
ですから、誤って多すぎる情報をセルに格納してしまった時のリカバリーのような働きをしてくれる訳です。多すぎる情報を、手作業でコピー&ペーストを繰り返したり、BackSpaceで消去しながら、新たなセルに入力したりするというのは、非常に面倒ですよね。
それが10件程度なら別に問題なくできるかもしれません。しかし、1万件、5万件という数だったらどうでしょうか?
それを手作業でやっていたら、日が暮れてしまいますし、恐らくヒューマンエラーも生じてしまうでしょう。
このMID関数をマスターしていれば、その手間をかなり削減することに繋がります。
MID関数の使い方
MID関数を使う際、セルには以下のように入力をします。
=MID(文字列, 開始位置, 文字数)
簡単に見方を説明すると、「ある文字列を何文字目から何文字分切り離す」となります。
例えば、A1セルに「山田一郎」という名前が入力してあって、そこから「一郎」という名前を取り出してB1セルに入力したい場合は、以下のようになります。
=MID(A1,3,2)
この関数だと、A1(山田一郎)の3文字目から2文字分切り離すという意味になります。少しイメージを掴めたでしょうか。
もう1つ例を出すと、C1セルに「電話番号:080-△△△△-●●●●」と入力されていたとします。これをハイフンごとに切り離したいとすれば、
=MID(C1,6,3)
=MID(C1,10,4)
=MID(C1,15,4)
と3つのセルに入力すると、それぞれが切り離されて表示されることになります。
イメージは膨らんできたでしょうか。
なおMID関数については、下記のGoogle Supportページでも解説されています。
>>MID
MID関数のメリットは?
氏名を名字と名前に分ける作業が必要な場合、手入力でやってしまうと、変換ミスも起こり得てしまいますが、このMID関数を使えば、その心配は全くありません。
コピー&ペーストを駆使しても、コピーの選択部分が不足したり、違うところにペーストしたりというミスが起こり得ますが、その心配もありません。ミスのリスクも減り、さらに時間も短縮できる。習得必須の関数です。
初心者でもできるMID関数の応用
MID関数は、携帯電話番号のように、文字数が常に一定のものについてはかなり有効です。
しかし、例えば、人間の氏名には「山田一郎」もいれば「長谷川花子」もいて、「デービス・ブラッドリー」もいます。名字と名前の文字数が必ず一致しているとは限らないのですね。
また、住所についても「東京都」なのか「神奈川県」なのかで文字数が変わってきます。
そういった際には別の方法を考えなければなりません。
ハイレベルな人は、引数にうまく別の関数を当てはめて自動化を図ることができるでしょう。しかし、そこまでの知識を持っていない人もいると思います。
そういった人が、「取り出す文字数が違うから、手作業でやらなくては…」と諦める必要はあません。
エクセルやGoogleスプレッドシートは、表形式になっていますので、フィルター機能を使えば要素を絞り込んだり、並び替えをしたりすることができます。
データを並び替えれば、同じような性質のデータをある程度まとめることは簡単です。
このようにすれば一回の関数入力ですべての作業を終えることができなくても、大幅に手間を省くことができます。
関数は基本的に単体で覚えるのではなく、他の機能とうまく融合できないかと考えることで、大きな力を発揮してくれます。うまくいかなそうな時は、知っている便利技と組み合わせて、何か別のアイディアはないかと考えるようにしていくと、驚くべきスピードでスキルの習得を図っていけるでしょう。