> ## Documentation Index
> Fetch the complete documentation index at: https://help.dingtalk.io/llms.txt
> Use this file to discover all available pages before exploring further.

# 論理判断関数

> DingTalk Spreadsheet の論理判断関数：IF、IFS、AND、OR、XOR、NOT、IFERROR、IFNA。

| タグ | IF ,  IFS ,<br />AND ,  OR ,  XOR ,  NOT ,<br />IFERROR ,  IFNA |
| -- | --------------------------------------------------------------- |

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 の引数を受け取るため、「見つかりません」を返します。

***
