Excelが大好きだ!

Excel大好き経理マンがExcelの事を書き綴っていきます。


スポンサードリンク

SQLでExcelの集計を簡単・楽しく - TRUEとFALSEの値

ExcelにおいてTRUEを数値に置き換えると「1」。
FALSEは「0」になります。

Excel x SQLにおいてはどうでしょうか?


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 判定不可


www.excellovers.com