If

目次

概要

必要なOriginのバージョン: Origin 2019 SR0以降

MS Excelの If 関数と同様に、条件を評価し、条件がTrueかFalseかに応じて特定の値を返すために使用されます。値はテキストでも数値でも構いません。複数の条件で値の集合を比較するには、入れ込状のIF関数を使用します。

Notes:

構文

double If(string con, double val_true[, double val_false])
string If(string con, string val_true$[, string val_false$])$

パラメータ

con

「true」または「false」として評価される条件式。上記の "Notes" を参照。

val_true

条件がTrueの場合の戻り値。数値またはテキストを指定できます。テキスト値の場合は、二重引用符("")で囲む必要があります。

val_false

条件がFalseの場合の戻り値。数値またはテキストを指定できます。テキスト値の場合は、二重引用符("")で囲む必要があります。

戻り値

比較の結果に応じて指定した値を返します。

サンプル

Ex1 - 2つの列の値を比較する

列AとBの値を行ごとに比較します。A > Bの場合は1を返し、それ以外の場合は0を返します。

  1. 新しいワークブックを作成します。列Aと列Bに乱数を入力します。
  2. 列Cを加し、F(x)=セルに次のように入力します。
  3. if(A > B, 1, 0)


Ex2 -セルの数式で値を比較する

列Aのセルの値が列Aの平均を超えているかどうかをチェックし、それに応じてテキストを返します。

  1. 新しいワークブックを作成します。列Aに乱数を入力します。
  2. セルB1に、次の式を入力します。
  3. =if(A1 > mean(A), "Above Average", "Below Average")
  4. Enterを押して確定します。
  5. 列の残りの部分を埋めるには、セルB1の右下隅からドラッグします。


Ex3 -入れ込状のIFで値を分類する

値の範囲に基づいて"Large"、"Small"、または"Median"を返すには、入れ込状のIFを使用します。

  1. 新しいワークブックを作成します。列Aに乱数を入力します。
  2. 列BのF(x)=セルに次のように入力します。
  3. If(A > 0.5, "Large", If(A < 0.3, "Small", "Median"))


Ex4 -条件として関数Returnを使用

A列には3つのグループがあります。各グループの開始時にのみ差分を示す条件としてdiff(A,2)を使用します。注意:値を条件として使用する場合、ゼロ以外の値はすべてtrueとして扱われます。

  1. 新しいワークブックを作成します。
  2. 次の番号をコピーします。 1 1 1 2 2 2 0.5 0.5 0.5. 列AのセルA1を右クリックし、転置して貼り付けを選択します。
  3. 列BのF(x)=セルに次のように入力します。
  4. if(diff(A, 2), diff(A, 2), ) //  差がある場合は差を表示、それ以外の場合は欠損値を入力
  5. 列Cを追加します。列CのF(x)=セルで、次のように入力します。
  6. if(diff(A, 2), diff(A, 2), "") // 差がある場合は差を表示、それ以外の場合は空白のままにする


Ex5 - 2列のテキストを比較する

2つの文字列の列を比較し、一致ステータスを返します。列のショートネームの後に$を追加すると、その列は文字列として扱われます。

  1. 新しいワークブックを作成します。列AとBを選択し、右クリックして列値の一律設定:テキストと数値の任意のセットを選択します。繰り返すためのテキストに次のように入力します。 Alpha Beta Gamma.モード=ランダム配置データに設定し、OKをクリックします。
  2. 3番目の列を追加します。F(x)=セルに次のように入力します。
  3. if(A$==B$, 1, 0) // AがBにマッチする場合は1、それ以外の場合は0
  4. 4番目の列を追加します。F(x)=セルに次のように入力します。
  5. if(A$==B$, "Match", "") // ラベル一致文字列


Ex6 - OR条件のある電子メールドメインを検出

メールドメインに".org"、".gov"、".edu"が含まれている場合は"Non-Commercial"を返します。

  1. 新しいワークブックを作成します。
  2. 次のメールアドレスをコピーします。 jane@nonprofit.org john@example.com smith@university.edu ccc@usda.gov
  3. A1セルを右クリックし、転置して貼り付けます。
  4. 列BのF(x)=セルに次の式を入力します。
  5. if(find(A$, ".org") != -1 || find(A$, ".gov") != -1|| find(A$, ".edu") != -1, "Non-Commercial", "")



関連情報

Ifs, Switch