見出し画像

[EXCEL] 計算式に数値(やデータ)を入れてはいけない。初心者向け記事を鵜呑みにするなかれ!

MAPPDF版表示関数ショトカ操作/コピー実務NG検索


【まとめ】
・計算式に数値(変数)を入れてはいけない。データも。
・初心者向け記事を鵜呑みにするなかれ(当然、この記事以外も参照に)
・基本は最初に抑える。

【説明】
4月ということで、新入社員向け記事を散見する旨は先述のとおりですが、なんか、EXCEL本を劣化コピーしただけのような記事もあり、なんだかな、って思っています(ハードルを下げる、という点では意味はあるのでしょうけれど)。
それに、いまだにVLOOKUP関数やSUMIF関数の説明だし。
参考:[EXCEL]新人向け★お役立ちリンク★これだけは覚えるべき関数やショートカット、覚えなくていいもの&使ってはいけないものなど
VLOOKUP関数をいまさら使ってはいけない

よくあるエクセル本(コンビになるようなムック本)では、IF関数の使い方として、テストの点数による合否判断の例が挙げられています。

こんな計算式です。

=IF(C3>=80,"合格","不合格")
点数が80点以上なら「合格」、そうでなければ「不合格」と表示する計算式です。
計算式としては正しいです。
そして、紙面に限りがあるムック本なら、この説明でもやむを得ないでしょう。

でも・・・
スペースの制限がほぼないWEBで、そんなムック本をコピペしたような記事を載せてどうする? と思ってしまうわけです。
「本当に実務、やってんの?」と、思ってしまうわけです。

なぜか?

エクセルの基本のキとして、「計算式に数値(変数)を入れない」があります。

どういうことか?

'=IF(C3>=80,"合格","不合格") という計算式には「C3>=80」という部分があります。C列は点数です。
つまり、「点数が80点以上なら」という条件です。
しかし、もし合格点を81点にしようとしたら、どうでしょうか?
計算式の「C3>=80」を手作業で「「C3>=81」に直さなければいけません。
もちろん、全てセルを、です。
一つのセルでも修正し忘れがあれば大問題です。

コピペすればすべて直るはずですが、そもそも、計算式に数値を入れている段階で、「エクセル不慣れ」なわけなので、コピペミスのリスクは上がります。

したがって、こういった「変わりえる数値」(変数)を計算式にいれてはいけません。

一方、この「80」を別のセルにしておけば、合格点を変える場合でも、そのセルの数値を変えるだけで済みます。
下の図の通りです。

=IF(C10>=$G$8,"合格","不合格")
C列は点数ですが、G8(ここでは80)として比較して、G8以上なら合格としています。
なお、すべての点数セルをG8と比較するため、G8セルには、絶対参照である「$」を、列であるGの前にも、行番号である「8」の前にもつけています(「$」はF4を押すとついたり消えたりします)。
これにより、ほかのセルにコピーしても、比較するセルはG8セルから変わりません。

こうしておくことで、
合格点を「81点以上」にしたい場合、G8セルの数値(点数)を変えるだけで済みます。

合格点が80点のときには「合格」となっていた「い」が「不合格」となっています。

このように、計算式には数値を入れずに、数値はセルに入れ、そのセルを計算式に入れるのが基本です。

こうすることで、基準となる数値が変わっても、いちいち計算式を直す必要がなくなります。

逆に、計算式に数値(変数)を入れてしまうと、その数値を直すのが大変であるともに(上の表ぐらいならいいですが)、「直し忘れ」が発生し、大きなミスにつながります(徴収額の算定などで、徴収率を直し忘れて新聞ネタになるなど・・・)。

なお、実務では(私はこの手の作業はやりませんが)、以下にも留意した方が、より分かりやすいでしょう。
・「合格」と「不合格」が並ぶと見づらい(一文字しか違わないため目が迷う)ので、「不合格」は空白(”")にする。
・「合格」の表示も計算式に入れないで、別セルを参照させる。
  *「合格」を「OK」等に変えるのも簡単。
・「合格」の人数も自動で出す(条件は一つだが、COUNTIFS関数を使う癖をつけておく)。
・分母(全体数)を出す(COUNTA関数)。
・合格率を出す。
こんな感じです。

具体的には以下のとおりです。
計算式のトレースが見やすいように、あえて表をずらして配置しています。
計算式が入っているセルには「条件付き書式」で自動で色を付けています。

右の方の数値は、あえて中央ぞろえにしています。

なお、実際は、データである「点数」一覧(左の表)と、集計表(右の方)は別シートにすべきですが、わかりやすいように同じシートにしています。
COUNTIFS/COUNTA関数では行番号を指定した範囲指定をしていますが、実際は列全体(行番号は指定しない)で範囲指定した方が楽かつ間違いがありません。

「合格」の表示もF15のセルから持ってきています。
これにより、「合格」の表現を変えても、自動で集計可能です。


なお、「合格」の数は以下のセルを参照しています。


配布用の資料とするなら、数値には単位を入れたいところです。
右の表を配布用と想定すると・・・

「合格」や「全体数」の「人」は、「セルの書式設定」(Ctrl + 1)でつけています。
「合格率」のパーセントは、Alt ⇒ H ⇒ P でつけて、Alt ⇒ H ⇒ 0(セロ)で、小数点第一位まで表示しています。
エクセル御法度 100を掛けてパーセント表示してはいけない


とここまで書きつつ、確かに、これだけの説明をするのはちょっと手間です。エクセル不慣れな人なら、この段階でおなか一杯というか消化不良というか、拒否反応を起こしちゃうかも。
だから、「基本はサラリ」という初心者向け記事の意義もわからなくはありません。
でも、だからといって、計算式の中に数値(変数)を入れた例を安易に示しているのはどうかな、と感じてしまいます。
いくら「基礎」とはいえ、仕事でエクセルを使うのであれば、「基本」は最初に押さえておくべきだと感じています。
基本を押さえ、最初から「クセ」にしておくことが、将来の大きな糧となります。
(私も、20世紀の終わり頃、エクセルをいじり始めたころに当時の「エクセルマスター上司」からそう指導され、クセにしています。)

おまけ:ムック本はおすすめです
冒頭、「ムック本」について触れましたが、コンビニで売っているような薄くて大きいムック本は、書店で売っているよう厚くて小さいエクセル本より、実はおすすめだと思っていますす。
前者は、関数中心ですが、よく使う関数がおおむね載っています。また、基本的なエクセルの操作方法も載っています。
個性は薄いけれど、基本的な部分は網羅されています。1000円以下で買えるのも魅力的ですし、何より、大きくて見やすです。
一方、書店で売られているエクセル本は、ものにもよりますが、作者の知見に基づいて五月雨式に情報が載っているものを多々見かけます。あるいは、辞典的にひたすら関数の説明が続くもの。
いずれも、役には立つけれど初心者向きではありません。値段的にも。

というわけで、初心者はムック本を買ってざっと見て、わからなければ、また見返す、あたりがいいのかな、と思っています。

以上、参考になれば幸いです。

明日は休みを取り、長時間電車を乗り継ぎ、先ほど自宅に帰ってきたので疲れているのですが、ついつい色々言いたくて書いてしましました。


(作業 1日 2h)

いいなと思ったら応援しよう!