今となっては「使えて当たり前」のような風潮にあるマイクロソフト社の表計算ソフト「Excel(エクセル)」。
「セル」や「関数」などの概念がわかってしまえば、やりたいことをインターネットで調べ、どんどん作業を進めていくことができます。
しかし、エクセルには自動的に「いい感じ」にしておいてくれる機能が多くあり、これが悪さをして、知らず知らずのうちに、意図していることと異なる作業をしてしまっていることも、実は多々あるのです。
今回は、エクセルを使った実際の業務にもよくある「落とし穴」から、5つをご紹介したいと思います。みなさんは、5つのうち何個知っていますか?
- ① 数値の一致を確認する時は「引き算」ではダメ!
- ② 先頭の「0」が勝手に削除されてしまう現象がある
- ③ パッと見はかっこいい立体的なグラフの罠
- ④ よく見ないと気づけないグラフのズレ(大問題)
- ⑤ 目には見えない情報がセルに隠されている
- おわりに
① 数値の一致を確認する時は「引き算」ではダメ!
「ある数値とある数値が一致しているかを確認する」という作業は、様々なシチュエーションで発生していると思います。
たとえば、下記の図のように「データ」と「確認用」の数値が一致しているかをチェックするために、引き算をして全ての行が 0 になるかどうかという方法を用いたとしましょう。
引き算をした結果、上記の図のようになりました。差は全て 0 となっていますが、この確認だけでは「データ」と「確認用」が完全に一致しているとは言い切ることができません。
エクセルに詳しい方なら、すでに気づいているかと思いますが、「データ」と「確認用」の数値をよく見てみると「カンマ」が入っていて、セルに「桁区切りスタイル」が適用されていることがわかります。きっと、「差」の列にも適用されているのでしょう。
一旦、セルからカンマを除いてみる(書式をリセットしてみる)と・・・
おやおや。なんだか、ごちゃごちゃしていてよくわからない状況になっているようです。
この状況を暴くために、小数点以下を表示させてみると・・・
なんと!「データ」と「確認用」は、4桁の数値と思っていましたが、小数点以下が隠れていました!
そして、よくみると、「データ」と「確認用」とで、小数点以下の数値が異なる行もあり、その差も 0 ではありません。
つまり、「差が全て 0 なので、数値は全て一致している」と結論付けそうになりましたが、実は「一部、一致していない」が正解だったのです。
これはエクセルの「いい感じ」にしておいてくれる機能のひとつである「セルの書式設定」によって、起こりうる事象です。
ですので、数値の一致を確認したい時は、引き算ではなく、論理式を使用するようにしましょう。
かんたんな方法としては、
=A2=B2
のように、突き合わせて確認したいもの同士を「=」で結んであげることで、上図のD列のように、一致していれば「TRUE」、そうでなければ「FALSE」が返ってきます。
しかし、これだと何かと不便なため、「TRUE」なら「0」、そうでなければ「1」を返すような数式を使うことをオススメします。
=IF(A2=B2,0,1)
この数式を使用することで、E列のように判定結果を返してくれます。たとえば、この判定結果の合計(E列の合計)を取ることで、「一致していない行がどのくらい発生しているか」がすぐにわかる、などのメリットがあります。
② 先頭の「0」が勝手に削除されてしまう現象がある
エクセルの「いい感じ」にしておいてくれる機能のひとつ、「数値しか入っていないセルの先頭に0が付いていたら削除する」というものによって起こりうる事象です。
たとえば、下のような状況を見て、どう思いますか?
エクセルに詳しい方であれば、「なんか嫌な予感・・・」とすぐに思われることでしょう。
どういうことか、少しご説明すると、まず「顧客IDって決まった桁数のことが多いけど、なんか桁数がバラバラだ・・・」と思い、その後で「というか、このID、全て数字で構成されているのか・・・」と気づきます。そして、「ゼロ落ちしてる可能性があるな・・・」と思い、嫌な予感がするな、と感じるわけです。
これが、計算に使用するような数字であれば、先頭に 0 があろうが、なかろうが、あまり関係ないのですが、「顧客ID」や「ユーザー識別番号」などのような性質を持つ場合は、要注意です。
0 が落ちてしまうことで、「そのような顧客番号のユーザーはいない」としてメールなどの配信に失敗してしまったり、「顧客番号:001」と「顧客番号:1」が同一の人物とみなされてしまったり、データ同士の結合キーとしても使用できなくなってしまったりと、業務上の様々な事故を引き起こしてしまう危険性があるのです。
顧客IDなどは、数字だけで構成されているとしても、必ず「文字列」として取り扱うようにすることで、ゼロ落ちを回避することができます。
上図の列Bは、セルの書式設定を予め「文字列」とした上で、顧客IDを入力しています。セルの左上に三角の注意マークが出ていますが、これは「数字だけで構成されているけど、文字列として扱っていいの?」という警告です。もちろん、それで良いのです。
仮に、すでにゼロ落ちしているデータを受け取って作業する場合、そして、顧客IDが数字のみで構成されていて、さらにその桁数が明らかになっている場合は、上図のように、TEXT関数で書式を設定することで、落ちた 0 を補完してあげることができます。(”000000″は、6桁の数字であることを示す表示形式コードです。)
③ パッと見はかっこいい立体的なグラフの罠
エクセルでグラフを生成した後、その色や形を綺麗に整えることができますが、そこで、下記のような立体的なグラフが選択肢としてあり、「カッコいいかも」と思って、使ってしまうことが多々あります。
確かに「オシャレ感」はアップしそうですが、ちょっと立ち返ってみると、なぜ、このグラフを作成するに至ったのでしょうか。
おそらく、「(上図の左側にあるような)数表だけでは、わかりづらいから、グラフィカルにして、パッと見でわかるようにした方がいいな」と思ったからではないでしょうか。
そう考えた時に、もう一度、上図のグラフを見るとどうでしょうか。
全て同じ割合(33%)のはずなのに、手前側のオレンジ色の領域だけ、ちょっと面積が広く見えませんか?すると、「ひとつだけちょっと割合が高い?」というミスリードを起こすことになってしまいます。
ですので、ビジネスでは、立体的なグラフを使用するのはやめておいた方が無難といえます。
さらに、世の中には、こういったグラフの錯覚をうまく使った(悪用した)広告なども存在しますので、ご自身の行った仕事が、そういった類のものと間違われないようにするためにも、やはり、立体的なグラフは避けた方が良いでしょう。
④ よく見ないと気づけないグラフのズレ(大問題)
著者も、「これは厄介な仕様だ・・・」と常日頃思っているのが、この「グラフの項目とデータのズレ問題」です。
以下の図のような、数表とグラフがあったとしましょう。
一見、特に問題なさそうに見えます。著者も、パッと見は、特に何も思いません。しかし、グラフの選択範囲を見てみると・・・
10月1日の「出荷量」がグラフの選択範囲外となってしまっています。それだけならまだ良いのですが、よく見てみると、本来、10月2日の値「37」が、グラフ上では、10月1日の値として表示され、そのまま全ての日付と値が1日分ズレてしまっています。
これって大問題ですよね・・・。
行ごとに対応してグラフが生成されるとは限らないということです。選択範囲をミスしてしまうと、上記のようなズレが起こりうるのです。
こういったことが知らないうちに起こる可能性もあるので、グラフの始まりと終わりの日付、それぞれの値が正しいかを、数表と見比べて確認するようにした方が良いでしょう。
⑤ 目には見えない情報がセルに隠されている
下図を見せられて、「情報が入っているセルの範囲はどこまでですか?」と質問されたとしたなら、「えっと、1が入力されているところ全部です」と答えてしまう方が多いと思います。
でも実は、一見、空白に見えるセルにも何かしらの情報が埋め込まれていることがあります。(「スペースが入力されている」などではなく、「セルの書式情報が埋め込まれている」などを指しています。)
これを知らないからといって、何か重大なミスを犯してしまうことはほとんどないとは思いますが、知っていて損はないと思います。
エクセルファイルを納品する前などには、使用していないセルを今一度、削除しておくことをオススメします。
そうすることによって、たとえば、エクセルファイルを別のソフトに読み込ませる、という行為をした場合に、「セルに何も入っていないところまで読み込まれる・・・」などの問題を解決することができる場合があります。
おわりに
エクセルの自動的に「いい感じ」にしておいてくれる機能が、裏目に出てしまうことがあることを知った上で、ご自身のエクセル作業結果をセルフチェックすることで、業務上の思わぬミスを回避することができることがあります。
エクセルは便利なツールであることには変わりありませんので、上記のようなことがあることを理解した上で、うまく付き合っていけると良いでしょう。
コメント