Documentation/Calc 関数/IF
TDF LibreOffice Document Liberation Project Community Blogs Weblate Nextcloud Redmine Ask LibreOffice Donate
Function name:
IF
Category:
Logical
Summary:
1つの条件が満たされているかどうかを判断し、条件が満たされている場合は1つの値を返し、条件が満たされていない場合は別の値を返します。
より強力な数式を作成するには、IF を他の論理関数(AND や OR など)と組み合わせ、IF ステートメントを互いの内部にネストします。
Syntax:
IF(テスト条件[; [真の時の値(その場合の値)][; [偽の時の値(それ以外の場合の値)]]])
Returns:
次のように、引数に依存する値を返します。
- 真の時の値 引数 および 偽の時の値 引数を省略すると、IF 関数は、テスト条件 引数で指定された条件が満たされているかどうかを示す TRUE または FALSE を返します。
- テスト条件 引数で指定された条件が満たされ、真の時の値 引数が省略された場合、IF 関数は TRUEを返します。
- テスト条件 引数で指定された条件が満たされ、真の時の値 引数が指定されている場合、IF 関数は 偽の時の値 を返します。
- テスト条件 引数で指定された条件が満たされず、偽の時の値 引数が省略された場合、IF 関数は FALSE を返します。
- テスト条件 引数で指定された条件が満たされず、偽の時の値 引数が指定されている場合、IF 関数は 偽の時の値 を返します。
Arguments:
テスト条件 は、論理値 TRUE または FALSE に評価できる式、または式を含むセルへの参照です。テスト条件 が論理値ではなく数値に評価された場合、0(ゼロ)は FALSEとして扱われ、ゼロ以外の値は TRUE として扱われます。 Calcの比較演算子である = (等しい)、<> (等しくない)、> (より大きい)、>= (以上)、< (より小さい)、および <= (以下)を使用して、テスト条件 引数に条件を作成できます。
真の時の値 は、テスト条件が TRUE と評価された場合に返される式、または式を含むセルへの参照です。
偽の時の値は、テスト条件が FALSE と評価された場合に返される式、または式を含むセルへの参照です。
- テスト条件 が論理値として評価できない場合、IF 関数は #VALUE! エラーを返します。
- IF 関数は、真の時の値 と 偽の時の値 のどちらか一方のみを評価します。たとえば、数式
=IF(1=2; 1/0; SQRT(4))
は、4 の平方根である 2 を返します。1/0
は #DIV/0! エラーを生成することが予想されますが、この場合、除算は試行されません。
Additional details:
Calc の論理関数に関する一般事項
Calcでは、数値 0 (FALSE) と 1 (TRUE) を使用して論理値を表します。たとえば、既定の一般的な数値書式が設定されているセルに 1 と入力します。次に、メニューバーの
▸ を選択して セルの書式設定 ダイアログボックスを表示し、数値 タブの 分類 領域で ブール値 オプションを選択して、 ボタンをクリックします。数値 1 が TRUE と表示されていることに注意してください。数値 1 の表示に戻すには、このプロセスを繰り返したあと、ブール値 ではなく 数 を選択します。セルに論理値を入力するには、セルに TRUE またはFALSE (大文字と小文字を区別しない) を入力します。Calcは論理値を認識し、それを大文字で表示し、セルの書式設定の分類を ブール値 に変更します。
論理的な結果を生成するCalc関数は、0 または 1 のいずれかの数値を返します。このような論理関数を単純に呼び出す数式が、既定の一般的な数値書式を持つセルに含まれている場合、セルは ブール値 書式に切り替えられ、戻り値は FALSE または TRUE として表示されます。たとえば、=TRUE()
は値 1 を返し、これは TRUE として表示され、書式を 数値 書式に変更すると、数値 1 として表示されます。
論理結果をテストするCalc関数は、常にテストされる式を評価し、それが 0 に等しいかどうかをチェックします。値 0 は FALSE と見なされ、その他の値は TRUE と見なされます。たとえば、=NOT(0)
は TRUE を返し、=NOT(57.89)
は FALSE を返します。
Calc とは対照的に、Microsoft Excel には論理値用の別の型があります。論理値は数値ではありませんが、数値に変換される場合があります。互換性が必要な場合は注意してください。
Examples:
基本的な例
Formula | Description | Returns |
---|---|---|
=IF(A1>5; 100; "too small") | A1 が 5 より大きい場合は数値 100 を返し、それ以外の場合はテキスト「too small」を返します。 | 100 または "too small" |
=IF(1>2; "nonsense") | FALSE を返します。これは、偽の時の値 引数が省略されており、1 が 2 より大きくないためです。 | FALSE |
=IF(2>1) | TRUE を返します。これは、真の時の値 と 偽の時の値 の両方の引数が省略されており、2 が 1 より大きいためです。 | TRUE |
=IF(D1; D2; D3)
セル D1、D2、D3 には、それぞれ数値 123、456、789 が含まれています。 |
テスト条件 がゼロ以外の数値であるため、TRUE として扱われ、真の時の値 引数の値を返されます。 | 456 |
ネストされた IF
セル A1 に、ラジアン表記で 0≤Φ<2π の範囲にある角度 Φ を表す数値が含まれているとします。IF 関数へのネストされた呼び出しを利用して、Φ の現在の値が存在する円の象限を決定する数式を作成できます。

次の数式は、セル A1 の値が含まれる象限を表す文字列を返します。
|
- セル A1 に数値 0.785398163397448 (π/4, 45°) が含まれている場合、数式は文字列「第1象限」を返します。
- セル A1 に数値 2.35619449019234 (3π/4, 135°) が含まれている場合、数式は文字列「第2象限」を返します。
- セル A1 に数値 3.92699081698724 (5π/4, 225°) が含まれている場合、数式は文字列「第3象限」を返します。
- セル A1 に数値 5.49778714378214 (7π/4, 315°) が含まれている場合、数式は文字列「第4象限」を返します。
配列数式での IF の使用
最近の数学試験の結果が利用可能であり、講師は次の表に従って結果を Calc スプレッドシートに入力することにしました。 彼は、セル A2 から A11 に生徒の名前を入力し、セル B2 から B11 に生徒の正答率を入力します。
残念ながら、合格点の 45% (セル B13 に入力)を達成できない学生は、学習を続ける前に試験を再試験(そして合格)する必要があります。講師は、結果を公開するときに、どの学生が再試験を受ける必要があるかを強調する必要があると判断し、配列数式で Calc のIF 関数を使用してこれを行うことにしました。
A | B | C | |
---|---|---|---|
1 | 学生の名前 | 試験の正答率 (%) | 再試験が必要? |
2 | Aaron | 46 | |
3 | Betty | 35 | YES |
4 | Brian | 43 | YES |
5 | Claudia | 72 | |
6 | Ethan | 80 | |
7 | Gary | 64 | |
8 | Jay | 41 | YES |
9 | Kaitlyn | 60 | |
10 | Samantha | 65 | |
11 | Shane | 41 | YES |
12 | |||
13 | 合格点 | 45 |
セル C2:C11 は、次のように入力されます。
- カーソルを使用してセル C2:C11 を選択します。
- 数式バーの入力行に数式
=IF(B2:B11>=$B$13; ""; "YES")
を記入します。数式の記入が終了しても、Enterキーを押さないでください。 - 記入が完了したら、Control + ⇧ Shift + ↵ Enter(macOSの場合は⌘ Command + ⇧ Shift + ↵ Enter) を押して、数式を配列数式として入力します。
Calc では、試験に合格した学生の C列 には空の文字列が表示されますが、正答率が 45% 未満で試験をやり直す必要がある学生の C列 には文字列「YES」が表示されます。
範囲 C2:C11 の各セルには、数式 {=IF(B2:B11>=$B$13; ""; "YES")}
が含まれています。Calc では、配列数式を示すために中括弧が追加されます。これらの括弧を自分で追加することはできません。
Related LibreOffice functions:
ODF standard:
Related (or similar) Excel functions:
IF