【Excel講師の仕事術】自己流のエクセル、卒業しませんか? この連載では、エクセルを操作するときの「ルール」を決めることで、ミスを減らして業務を効率化していく仕事術を解説します。

ルール 32
IF関数の論理式は自然な日本語にする
日本語に訳して表現すれば真・偽の条件が明快になる

頭に入りづらい式を作ってはいけない

本連載の以降の記事では、使用頻度の高いいくつかの関数について、意識してほしいルールを列挙していきます。まずはIF(イフ)関数です。

IF関数は条件によって異なる結果を求める関数で、条件の指定には「論理式」を使います。構文は以下の通りです。


=IF(論理式,真の場合,偽の場合)


論理式は「比較演算子」と呼ばれる記号と、数値や文字列、セル参照で表します。比較演算子は「等号」「不等号」と言い換えたほうが分かりやすいかもしれません。

等号とは「=」(イコール)のことで、「X=4」という論理式があるとすると、「Xは4と等しい」という意味になります。不等号とは「>」(大なり)と「<」(小なり)のことで、「X>4」という論理式は「Xは4より大きい」という条件を表します。

また、等号と不等号を組み合わせた「>=」(大なりイコール)と「<=」(小なりイコール)もあり、それぞれ「以上」「以下」の意味になります。さらに「<>」とすると等号の打ち消し、つまり「等しくない」という条件を表します。この論理式を「自然な日本語で読めるように表現する」というのが、IF関数におけるルールです。

どういうことか、例で説明します。以下はIF関数の論理式(第1引数)だけを埋めた数式です。

=IF(E4<4,真の場合,偽の場合)

論理式を左から順に読んで「セルE4が4より小さかったら」と、自然な日本語として読めますね。一方、以下はどうでしょうか?

=IF(4>E4,真の場合,偽の場合)

論理式を左から順に読むと「4がセルE4より大きかったら」となります。先ほどと結果は同じなのですが、日本語としての理解がワンテンポ遅れる感覚がありますよね。「自然な日本語で読めるように表現する」というのは、このようなことです。

順序を整えれば条件が分かりやすくなる

今回のルールを説明したところで、実践的な例を見てみましょう。以下は営業部門の四半期評価の基となる社員売上比率の表で、営業担当者ごとに売上の合計と目標金額がまとめられています。この「中間評価」列に、IF関数による判定結果を入力します。

社員売上比率の例

エクセルの「シリアル値」とは? 時間計算の理解に不可欠【Excel講師の仕事術】

それぞれの合計(F列)と目標金額(G5)を比較し、目標を達成した、つまり合計のほうが大きければ「○」、小さければ「×」と表示します。IF関数で1行目の大森さんの評価さえ求めれば、あとはオートフィルで全員の結果を判定可能です。

ここでは関数ライブラリからIF関数を入力します。[関数の引数]ダイアログボックスでは、論理式として「F5>G5」と入力しました。日本語にすると「大森さんの売上合計(セルF5)が目標金額(セルG5)より大きかったら」となります。

「G5<F5」でも結果は同じですが、日本語にすると「目標金額が大森さんの売上合計より小さかったら」となり、明らかに不自然です。そのような分かりにくい式にすべきではありません。

IF関数の入力

エクセルの「シリアル値」とは? 時間計算の理解に不可欠【Excel講師の仕事術】

[関数の引数]ダイアログボックス

エクセルの「シリアル値」とは? 時間計算の理解に不可欠【Excel講師の仕事術】

続けて、真の場合と偽の場合に表示する文字列を指定します。真の場合に「○」を入力後、偽の場合の入力欄に移動すると、「"」(ダブルクォーテーション)が自動的に追加されます。

関数を直接入力する場合、文字列には前後に「"」を手入力する必要があるのですが、[関数の引数]ダイアログボックスでは不要です。偽の場合も、[OK]ボタンを押したあとに自動で「"」が追加されます。あとは数式をオートフィルすれば完成です。

なお、もしIF関数の数式が長文になるようなら、本連載のRULE 08で解説したようにコメントを付けることもお忘れなく。

「真の場合」「偽の場合」の指定

エクセルの「シリアル値」とは? 時間計算の理解に不可欠【Excel講師の仕事術】

IF関数の入力結果

エクセルの「シリアル値」とは? 時間計算の理解に不可欠【Excel講師の仕事術】

まとめ
  • 誰にでも理解しやすい日本語で表せる論理式にする
  • 長文で条件が分かりにくければコメントを付ける