• ベストアンサー

IIF関数の使い方

NULL以外のときはTRUENULLのときはFALSEと返したいのですがどうすればいいのでしょうか? 変数=IIF(列名<>NULL,"TRUE","FALSE") これだとすべてFALSEが返ってきてうまくできませんでした。(列名がNULLでないものも) NULLかどうかの評価はどうすればいいのでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • yomo3
  • ベストアンサー率32% (88/269)
回答No.2

#1の方の回答は逆ですな。 >NULL以外のときはTRUE ですから、 IIf(Not(IsNull([列名])),"TRUE","FALSE") または IIf(IsNull([列名]),"FALSE","TRUE") となります。 そして、Visual Basicカテゴリなので、IsNull関数が出てきていますが、お話の様子では、Excelのようですので、IsNull関数はありませんね。 Excelでは、ISBLANK関数を使います。 IIF(ISBLANK([列名]),"FALSE","TRUE") 補足のように、 IIF(列名<>"","TRUE","FALSE") でもよいのですが……。 また、予約語のTrueやFalse(#1さんの回答にある値が-1,0になるモノ)を返せばよいのであれば、 変数=NOT(ISBLANK([列名])) とか 変数=([列名]<>"") で十分です。

moshamosha
質問者

お礼

>そして、Visual Basicカテゴリなので、IsNull関数が出てきていますが、お話の様子>では、Excelのようですので、IsNull関数はありませんね。 勘違いする内容だったかもしれませんが一応VBでの質問です。 EXCELのことまでありがとうございました。 為になりました。

その他の回答 (1)

  • laputart
  • ベストアンサー率34% (288/843)
回答No.1

IIf(IsNull([列名]),"TRUE","FALSE") というように Isnull関数を使います。 また "TRUE" を TRUE "FALSE"を FALSE にすると -1 と 0の値を返しますので 論理計算には便利です。

moshamosha
質問者

お礼

変数=IIF(列名<>NULL,"TRUE","FALSE") これを 変数=IIF(列名<>"","TRUE","FALSE") にかえるとうまくできました。 勉強になりました。ありがとうございました。

関連するQ&A