条件分岐⑥ 逆転の条件式
NOT関数とIF関数を組み合わせて使えます。
②NOT関数は条件式を「~ではないなら」と読み替えることができる。
「W」と「H」の関係が”「W」が500より小さくないなら「H」は600、それ以外なら700となる”となっている場合の式は以下になります。
if(NOT(W<500 ) , 600 , 700)
Wの値が400だと提示された条件の(W<500)は成立
→NOTにより成立は不成立となる
→条件をクリアしていないと判定
→それ以外(選択肢2)の方が選択される
→Hの値として700が表示される
その2 選択肢を入れ替えてみる
一方にはNOT関数を入力し、もう一方はNOT関数を入力せずに選択肢1と選択肢2を入れ替えた式をそれぞれ「H」と「H’」に設定しています。
if(NOT(W<500 ) , 600 , 700)
if(W<500 , 700, 600)
どちらも値は700で同じ結果になる。
その3 AND関数と組み合わせる 保留
「W」と「D」と「H」の関係が”「W」が500より小さくてなおかつ「Ⅾ」が500よりも小さいくないなら「H」は600、それ以外なら700となる”となっている場合の式は以下になります。
if(NOT(AND(W<500 , D<500 )) , 600 , 700)
Wの値が1000、Dの値が400ならば
提示された条件に対しW<500は不成立、D<500は成立
→条件式の一部が不成立だとAND関数は不成立となる
→NOTにより不成立は成立となる
→条件をクリアしている判定され
→選択肢1の方が選択される
→Hの値として600が表示される
その4 OR関数と組み合わせる
「W」と「D」と「H」の関係が”「W」が500より小さくてなおかつ「Ⅾ」が500よりも小さいなら「H」は600、それ以外なら700となる”となっている場合の式は以下になります。
if(AND(W<500 , D<500 ) , 600 , 700)
Wの値が1000、Dの値が400ならば
提示された条件に対しW<500は不成立、D<500は成立
→条件式の一部が成立だとOR関数は成立となる
→NOTにより成立は不成立となる
→条件をクリアしていないと判定され
→選択肢2の方が選択される
→Hの値として700が表示される
![]() |
いつもと逆 |
NOT関数
NOT関数は「~ではない」を表していて、条件式が成立していれば不成立、条件式が不成立なら成立となります。
書式
if(NOT(条件式1 ) , 選択肢1 , 選択肢2)
※NOTは大文字小文字どちらでもOK
確かにそうなんですっ!
この構文にNOT関数を加えると
if(NOT(W=500), 300 , 600)となります。
NOTを加えたことで意味が変わり、
”パラメータ「W」が500(ならば➡)でないなら定数「300」、それ以外なら「600」”という意味になります。
つまり”500と同じでないなら”を言い換えれば”500以外全て”になるので
”パラメータ「W」は500でないなら定数「300」、500なら定数「600」”となります。
となるとNOTを使わずに選択肢1と選択肢2を入れ替えてしまって」
if(W=500, 600 , 300)とすれば
”パラメータ「W」は500なら定数「600」、500でないなら定数「300」”となります。
if(NOT(W=500), 300 , 600)と同じ意味になります。
やりたい事は同じですが複雑にならずに、日本語で考えた時にスムーズに考えられる方で入力してください。
・条件式が成立していたら→NOTにより成立は不成立となる→選択肢2が選ばれる
・条件式が成立していないなら→NOTにより不成立は成立となる→選択肢1が選ばれる
えっと・・
条件が逆転するだけなら、選択肢を逆にすればいいんじゃないの?
”パラメータ「W」が500ならば定数「300」、500以外なら定数「600」”をif文で表すと
if(W=500, 300 , 600)となります。
この構文にNOT関数を加えると
if(NOT(W=500), 300 , 600)となります。
NOTを加えたことで意味が変わり、
”パラメータ「W」が500(
つまり”500と同じでないなら”を言い換えれば”500以外全て”になるので
”パラメータ「W」は500でないなら定数「300」、500なら定数「600」”となります。
となるとNOTを使わずに選択肢1と選択肢2を入れ替えてしまって」
if(W=500, 600 , 300)とすれば
”パラメータ「W」は500なら定数「600」、500でないなら定数「300」”となります。
if(NOT(W=500), 300 , 600)と同じ意味になります。
やりたい事は同じですが複雑にならずに、日本語で考えた時にスムーズに考えられる方で入力してください。
いったん整理
if(NOT(条件式), 選択肢1 , 選択肢2)の場合・条件式が成立していたら→NOTにより成立は不成立となる→選択肢2が選ばれる
・条件式が成立していないなら→NOTにより不成立は成立となる→選択肢1が選ばれる
![]() |
・・・ |
重要なルール
①IF関数と組み合わせて使うが、AND関数やOR関数も一緒に使う事ができる。②NOT関数は条件式を「~ではないなら」と読み替えることができる。
例えば。。。
その1「W」と「H」の関係が”「W」が500より小さくないなら「H」は600、それ以外なら700となる”となっている場合の式は以下になります。
if(NOT(W<500 ) , 600 , 700)
Wの値が400だと提示された条件の(W<500)は成立
→NOTにより成立は不成立となる
→条件をクリアしていないと判定
→それ以外(選択肢2)の方が選択される
→Hの値として700が表示される
一方にはNOT関数を入力し、もう一方はNOT関数を入力せずに選択肢1と選択肢2を入れ替えた式をそれぞれ「H」と「H’」に設定しています。
if(NOT(W<500 ) , 600 , 700)
if(W<500 , 700, 600)
どちらも値は700で同じ結果になる。
その3 AND関数と組み合わせる 保留
「W」と「D」と「H」の関係が”「W」が500より小さくてなおかつ「Ⅾ」が500よりも小さいくないなら「H」は600、それ以外なら700となる”となっている場合の式は以下になります。
if(NOT(AND(W<500 , D<500 )) , 600 , 700)
Wの値が1000、Dの値が400ならば
提示された条件に対しW<500は不成立、D<500は成立
→条件式の一部が不成立だとAND関数は不成立となる
→NOTにより不成立は成立となる
→条件をクリアしている判定され
→選択肢1の方が選択される
→Hの値として600が表示される
その4 OR関数と組み合わせる
「W」と「D」と「H」の関係が”「W」が500より小さくてなおかつ「Ⅾ」が500よりも小さいなら「H」は600、それ以外なら700となる”となっている場合の式は以下になります。
if(AND(W<500 , D<500 ) , 600 , 700)
Wの値が1000、Dの値が400ならば
提示された条件に対しW<500は不成立、D<500は成立
→条件式の一部が成立だとOR関数は成立となる
→NOTにより成立は不成立となる
→条件をクリアしていないと判定され
→選択肢2の方が選択される
→Hの値として700が表示される
なんだか見た目がゴチャゴチャしてしまいました( ;∀;)
Revit2020