Excelで効率化するための2つの原則

吉田拳氏(以下、吉田):Excelの話の最後に、大事な原則を2つご紹介します。意味はあまりわからなくてもかまいませんので、記憶に留めてほしい言葉をご紹介して、Excelの話を終了したいと思います。

こちらの2つです。弊社のセミナーでは、これを口を酸っぱくして言っています。

まずは「データベースファーストの原則」です。

そもそもデータ分析、集計はその材料として、データベース形式と呼ばれる形で蓄積されたデータがなければできません。それがデータベースファーストという言葉です。

次に、「インプット、マスタ、アウトプットの原則」です。これが、弊社があらゆる業種・業界の膨大なExcel作業をすべてこなしているコツです。

Excel画面を見ながらご紹介したいと思います。すごくシンプルな話です。(画面に)インプット、マスタ、アウトプットという3つのシートがあります。

こういった決まったかたちのデータを、決まった形式の資料に作り変える作業、ルーティンワークを自動化する場合は、まず、インプット、マスタ、アウトプットという3種類のシートを用意しましょうという話です。目的別に、この3つのシートを用意することが大事ということが、インプット、マスタ、アウトプットの原則です。

細かい関数の使い方は割愛しますが、インプットシートのこの場所にデータを貼るだけで、自動でここに数字が入る仕組みを作るといい、ということです。

こういった仕組みを作る時に使われる関数の8割が、先ほどスライドで紹介したVLOOKUP(ブイ・ルックアップ)関数とSUMIFS(サム・イフ・エス)という2つの関数です。わずか2つの関数でほとんど賄えます。

わずかな関数と機能だけでこういった仕組みを簡単に作れますので、何かに時間がかかっている場合は、ぜひ効率化を考えていただきたい。難易度が高いものではなくて、シンプルに使えるものだったりするわけです。

3種類のシートが必要な理由

インプットがデータを入れる場所、アウトプットが成果物ができる場所です。

マスタは、例えば元データを見ると、(画面に映した)これは売上のデータですが、売上の分け方が小売店県名、都道府県別のデータになっています。

都道府県別に売上集計しようと思うと、まずは都道府県の欄が47行必要になり、非常に細かい表になってしまう。これでは細かすぎるので、(画面の)このように地域ごとの集計に変えているわけですね。でも、首都圏や近畿圏という地域名は、データには入っていません。

その時にどうするかというと、こうやって列を追加して、愛知県は中部に変換するという作業をするわけです。こういった変換をする時に、あらかじめ変換パターンをまとめたマスタを作っておく必要があります。

マスタシートというのは、このマスタを置いておく場所になります。本当はインプットとアウトプットだけで済めばいいんですけど、項目名の都道府県を地域名に変換するような作業が出る場合は、変換を司るマスタが要るので、必要なシートがインプットシート、マスタシート、アウトプットシートの3種類になるということです。

こういったコツを端的に言い表したのが、「インプット、マスタ、アウトプットの原則」になります。

もっと具体的な話は、本やセミナーでは話していますので、よかったら参考にしていただければと思います。

Excel業務でChatGPT活用が有用なシーン

最後に話題沸騰のAI、ChatGPTです。まもなくExcelに「コパイロット(Copilot)」という機能が出ますが、それが出るまではChatGPTの活用もありますが、使えるかというと、結論はこの2つです。

データ整形で有用なシーンは多々ありそうです。一方で、先ほども言いましたが、ビジネス分析のニーズを満たすかは疑問です。

基本的にはみなさんがほしいと思う表が出るわけではありません。多少似たものが出ても、ドンピシャのものにするために、指示を考えたり、環境を整えるほうが遥かに難しいと思います。

なので、AIにそういう期待をするくらいだったら、自分でExcelで「こういう表がほしいな」というものを作ってしまったほうが早くて簡単です。

一方で、有用なのがデータ整形です。「Excelではめちゃくちゃ難しかったことが、こんな簡単にできるのか」と驚いた事例がありますので、紹介したいと思います。100パーセント完璧ではありませんが、精度はかなりいいものです。

ChatGPTのWeb画面で、実際に指示を出してみたいと思います。左のチャット履歴に「住所分割」と出ています。先ほど練習しましたが、まずは人名の分割です。

例えば、こんなお願いをしてみましょう。「次の人名を苗字と名前に分割してください。表形式で出してね」と書きました。人名を苗字と名前に分ける作業、例えば苗字と名前の間にスペースが入っていれば、関数でも簡単にできます。ところが、くっついてしまっていると、基本的には不可能です。

でも、見てください。これを実行して見せますね。「表形式で出せ」と言っているので、表形式で出してくれます。少し時間がかかりましたが、ChatGPTに任せると見事に分けてくれました。

これをExcelやVBA、マクロでやろうと思うと、非常に困難というか、ほぼ不可能です。

Excelでやろうと思ったら、日本人の苗字一覧表を作成して、それに(一致するデータが)あったらそこだけ抜き出すといった作成になります。ChatGPTは、若干紛らわしい名前は分け方を間違えることもありますが、統計的な観点からうまい具合に分けてくれるわけですね。

例えば10万件のデータがあったとします。作業をやらないといけないとなった時に、「ChatGPTは不正確だから人間がやろう」と言って10万件やるより、まずはChatGPTにやらせて、人間が一通り目視で見たほうが遥かに早くなります。

Excelや人力ではできないことを「かなりの精度」で行える

もう1つ、驚いたのが住所です。ちょっとやってみましょう。こんなお願いです。「東京都中央区銀座2-11-9三和産工ビル5F」というのは弊社の住所ですが、「次の住所を都道府県、市区町村、町名、番地、建物名に分割してください。郵便番号もつけて。表形式でね」と指示します。

実行してみると…見事に分けてくれました。

例えば、この住所から都道府県を抜くことはExcelでも簡単です。ところが、これ以降を分けることは困難を極めます。ほぼ不可能だと思います。

ところが、ChatGPTはこういうこともさらっとやってくれます。郵便番号は住所から関数でも出せるのですが、いちいちそういうことをしなくても、こうやって分けてくれる。ChatGPTで分割したものを、Excelに貼り付けて使う手間は発生しますけどね。

こういった関数やVBA、人力ではとてもじゃないけどできなかったことを、かなりの精度でやってくれるところに、かなり大きな可能性を感じるわけですね。

あるデータをくっつけたり、分けたり、データのかたちを整えることをデータ整形といいますが、この分野では、AIが莫大な威力を発揮するであろうというわけですね。

一方で、分析を見たいなと思ったら、AIに頼らず、ご自身で作ったほうが、きっと早くて正確なものが簡単に手に入ります。AIは、このように使っていただければいいかと思います。

私からのお話は、ここで終了させていただきます。ご清聴、大変ありがとうございました。