Nz関数 …Null値をほかの値に変換する

[Access 2016/2013/2010/2007]

AccessのNz関数の使い方を紹介します。

スポンサーリンク

書式

Nz(データ, Nullの代替値)

データがNull値でない場合はデータをそのまま返し、Null値の場合はNullの代替値を返します。

引数

引数 指定 説明
データ variant 必須 変換の対象になるデータを指定
Nullの代替値 valueifnull 省略可 データがNull値のときに返す値を指定。省略した場合、データが数値のときは0、文字列のときは長さ0の文字列「""」を返す。ただしクエリでは長さ0の文字列「""」を返す

使用例

式1: Nz([得点], 0)

  • [得点]フィールドの値が50の場合、戻り値は「50」
  • [得点]フィールドがNull値の場合、戻り値は「0」

式2: Nz([役職], "役職なし")

  • [役職]フィールドの値が「課長」の場合、戻り値は「課長」
  • [役職]フィールドがNull値の場合、戻り値は「役職なし」

メモ

Nullの代替値を省略したとき
クエリの演算フィールドに「Nz([得点])」と入力した場合、[得点]フィールドがNull値のときに戻り値は長さ0の文字列「""」になります。演算フィールドに「Nz([得点])+100」のように入力した場合は、「Nz([得点])」の戻り値は「0」になり、演算式自体の結果は「100」になります。

実践例:数値が未入力の場合にも和を表示する

フィールドの値を使用して演算をおこなうときは、フィールドが未入力の場合を考慮して対処しないと、思わぬ結果になることがあります。そのようなときの対処に、Nz関数は非常に有益です。例えば、クエリの演算フィールドに「合計: [英語]+[数学]」と入力した場合、[英語]または[数学]が未入力(Null値)だと[合計]もNull値になってしまいます。

× 合計: [英語]+[数学]

[英語]または[数学]がNull値だと、「合計: [英語]+[数学]」の結果もNull値になってしまう。

Nz関数を使用して、演算フィールドの式を「合計: Nz([英語],0)+Nz([数学],0)」のように修正すると、[英語]または[数学]が未入力(Null値)でも、0として[合計]を計算できます。

 合計: Nz([英語],0)+Nz([数学],0)

Nz関数を使用してNull値を「0」として計算すると、[合計]を表示できる。

スポンサーリンク

関連記事