メインコンテンツへスキップ
DingTalk スプレッドシートでは、一連の論理判断関数を使用して、指定した条件が成立するかどうかに応じて、対応する結果を返したり、対応するロジックを実行したりできます。

IF 関数

IF 関数は最もベーシックな論理判断関数で、3 つの引数が必要です。
IF(条件, 条件が成立した場合に実行する数式, 条件が成立しない場合に実行する数式)
  • 「条件」には任意の値またはネストされた数式を指定できます。判定の際、関数は「条件」の値を TRUE(成立)または FALSE(不成立)に変換しようとし、TRUE または FALSE に応じて、対応するロジックを実行します。
    • FALSE、数値 0、空のテキスト、空のセル、エラーは FALSE に変換され、それ以外は TRUE に変換されます
図 1 「点数」が 60 点に達した場合に「合格」と表示

条件の組み合わせ:AND 関数で複数の条件が同時に成立するかを判定

その名のとおり、「AND」は「かつ」 の意味です。したがって AND 関数は複数の条件が同時に成立するかを判定します。複数の引数を受け取り、各引数が 1 つの条件に対応します。すべて成立(TRUE)すれば関数は TRUE を返し、そうでなければ FALSE を返します。 AND 関数を条件として IF 関数にネストすると、次のようなシナリオを実現できます。 図 2 「リスニング」と「リーディング」が同時に 60 点以上の場合に「合格」と表示

条件の組み合わせ:OR 関数で複数の条件のいずれかが成立するかを判定

同様に、「OR」は「または」 の意味で、OR 関数は複数の条件のうち少なくとも 1 つが成立するかを判定します。同じく複数の引数を受け取り、各引数が 1 つの条件に対応します。いずれかの条件が成立(TRUE)すれば関数は TRUE を返し、すべて成立しない場合は FALSE を返します。 IF 関数にネストすることで、以下を実現できます。 図 3 「リスニング」と「リーディング」のいずれか一方が 60 点に達すれば「合格」と判定

条件の組み合わせ:IFS 関数、複数の条件で異なるロジックをそれぞれ実行

IF 関数は 1 つの「(組み合わせ)条件」が成立するかどうかに応じて、2 つの実行パターンがあります。一方 IFS 関数では、一連の条件を指定し、順次判定して、ある条件が成立した時点で対応する結果を返したり、対応するロジックを実行したりできます。 図 4 「点数」の属する区間に応じて対応する「等級」を表示

IFERROR 関数

IFERROR 関数は 2 つの引数を受け取り、そのロジックは 1 つ目の引数が「エラー」かどうかを判定するというものです。エラーであれば 2 つ目の引数を返し、そうでなければ 1 つ目の引数をそのまま返します。 ここでの「エラー」とは、#N/A, #VALUE!, #REF!, #DIV/0!, #NUM!, #NAME?, or #NULL! などの値を指します。

IFNA 関数

IFERROR 関数と類似していますが、IFNA 関数は 1 つ目の引数が #N/A エラーかどうかのみを判定します。 VLOOKUP や MATCH などの検索関数と組み合わせて使用されることが多く、これは検索関数が対象の値を見つけられなかった場合に #N/A エラーを返すためです。 図 5 ネストされた VLOOKUP 関数で「dd233」に対応する「商品名」が見つからず、#N/A エラーが返されます。 IFNA 関数は #N/A の引数を受け取るため、「見つかりません」を返します。