- ベストアンサー
IIF関数の使い方
NULL以外のときはTRUENULLのときはFALSEと返したいのですがどうすればいいのでしょうか? 変数=IIF(列名<>NULL,"TRUE","FALSE") これだとすべてFALSEが返ってきてうまくできませんでした。(列名がNULLでないものも) NULLかどうかの評価はどうすればいいのでしょうか?
- みんなの回答 (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([列名])) とか 変数=([列名]<>"") で十分です。
その他の回答 (1)
- laputart
- ベストアンサー率34% (288/843)
IIf(IsNull([列名]),"TRUE","FALSE") というように Isnull関数を使います。 また "TRUE" を TRUE "FALSE"を FALSE にすると -1 と 0の値を返しますので 論理計算には便利です。
お礼
変数=IIF(列名<>NULL,"TRUE","FALSE") これを 変数=IIF(列名<>"","TRUE","FALSE") にかえるとうまくできました。 勉強になりました。ありがとうございました。
お礼
>そして、Visual Basicカテゴリなので、IsNull関数が出てきていますが、お話の様子>では、Excelのようですので、IsNull関数はありませんね。 勘違いする内容だったかもしれませんが一応VBでの質問です。 EXCELのことまでありがとうございました。 為になりました。