ExcelにおいてTRUEを数値に置き換えると「1」。
FALSEは「0」になります。
Excelの場合
上述の通り、ExcelにおいてはTRUEは「1」、FALSEは「0」になります。
では逆にどんな数値がTRUE・FALSEと判定されるのでしょう。
「0」はFALSEとなります。
「0」以外の数値はTRUEとなります。
文字は真偽値判定には使用できません。
Excel VBAの場合
下記のようなコードでテストしてみました。
Sub TrueFALSEの値() Dim データ範囲 As Range Set データ範囲 = Worksheets("貼付").Range("D1:D8") Dim 各データ As Range Debug.Print "TRUE:" & True * 1 Debug.Print "FALSE:" & False * 1 For Each 各データ In データ範囲 Debug.Print 各データ.Address(False, False) & _ " " & 各データ.Value & _ ":" & CBool(各データ.Value) Next End Sub
Excel VBAにおいてはTRUEは「-1」。FALSEは「0」になります。
数値を真偽値に置き換えるとどうなるでしょうか。
「0」はFALSEとなります。
「0」以外の数値はTRUEとなります。
文字列はエラーになり判定できません。
Excel x SQLの場合
同じようにSQLでも試してみました。
TRUEは「-1」、FALSEは「0」となりました。
数値を真偽値に置き換えるとどうなるでしょうか。
「0」はFALSE(0)となります。
「0」以外の数値はTRUE(-1)となります。
文字列はエラーになり判定できません。
まとめ
真偽値の値
Excelのシート上使用する場合のみTRUEが「1」になります。
真偽値を計算に使用する場合は、Excelと他2つで値が異なるので注意が必要。
FALSEに関しては3者とも「0」になります。
対象 | TRUEの値 | FALSEの値 |
---|---|---|
Excel | 1 | 0 |
Excel VBA | -1 | 0 |
Excel x SQL | -1 | 0 |
数値の真偽値判定
何かしらの値を真偽判定に使用する場合は、3者とも同じ判定になりますので同じように使用することが可能。
対象 | 数値の0 | 0以外の数値 | 文字列 |
---|---|---|---|
Excel | FALSE | TRUE | 判定不可 |
Excel VBA | FALSE | TRUE | 判定不可 |
Excel x SQL | FALSE | TRUE | 判定不可 |