数値型データの0、NULL、空文字の違いを紹介

仕事で「データ活用」を始めるときによく陥る、Excelとデータベース(以下、DB)でのデータの違いについて説明します。
 
0、NULL、空文字
この3つを区別できると、データの加工や抽出を行うときにミスを防げたり、意図通りの結果が出ないときの間違い訂正が速くなること間違いなしです。
 
ここでは下記の用語を使います。
空セル :Excelで、何も値が入っていないセル
null   :データテーブルで特定の行の特定の列に、何も値が入ってない状態
空文字 :長さが0の文字列。Excelなら””(ダブルクォーテーション2つ)、Domo(MySQL)なら’’(シングルクォーテーション2つ)
 
 

解説 数字型の比較

ExcelとDomoで、0、null、空文字をいろいろな条件式で判定結果を出してみました。

①Excel 数字の0と空セル(null)の違い

Excelの条件式で注意が必要なのが、空セルと数字の0を比較すると、結果はTRUE(=一致)となることです。
 
 
 
量を表すものがないんだったら0なんじゃないの?という考え方もあるかもしれませんが要注意だと覚えておいてください。
 

②Domo 数字の0と空セル(null)の違い

しかし、DBの世界(ここではDomoを使っていますが、世に出回っているデータ加工ツールだと思ってください)だと、
  • 0と0は一致しますが、0とnull(Excelでいうところの空セル)は一致しません
  • nullと0は一致せず「is null」と書くことで、条件判定ができます。
 

③比較

①の図で赤枠で囲った通り、ExcelとDBの世界では結果が異なります。
 
この理由を理解するために、DBの世界ではこのようにデータを分類していると理解するとよいと思います。
データを入れる箱 └ データがある状態 ・・・ A  └ 0        ・・・ A1  └ 0以外      ・・・ A2 └データがない状態  ・・・ B
 
Excelは
  • 0との比較(num=1)ではA1とBを同じものだとみなしている
  • けど、isblank()だとちゃんと(?)別のものとして扱っている
ことになります。
 
 
ここでは数字型の 0と空セル(null)の違いについて取り上げました。
 
文字型の場合どうなるかは下記に記載しましたので、併せてこちらも参照ください。
 
📊
・KPIマネジメントについて相談したい ・データドリブンな組織を作りたい ・データ活用、BIツール導入について検討してみたい アタラにはデータ活用やBIツールのエキスパートが在籍しております。 このような課題をお持ちの方は、ぜひお気軽にこちらまでご相談ください。
 
この記事をシェアする