ヘルプの森~Excel・Access・Office全般ヘルプデスクサイト

No.002

アイコン クロス集計クエリの結果のNull値を「0」と表示する

Access2003/2007/2010/2013/2016

クロス集計クエリの結果で、該当がなかったときは空白(Null値)の表示となります。

クロス集計クエリ結果

Null値ではなく「0」で表示したい、というお問い合わせです。

なにはともあれ、クロス集計クエリをデザイン ビューで開きましょう。

クロス集計クエリデザインビュー

クロス集計の集計結果を表している設定は、[行列の入れ替え]行で[値]の設定となっている、今回は合計の計算を行っている列です。

では、この計算の結果がNull値の場合は 0 となるように、演算式を設定します。

Accessの関数には便利な、Null値を別の指定した値に変換できるNz関数というのがあります。
Nz関数は、2つの引数を次のように設定します。
  Nz(フィールドや数式, Null値の場合に変換する値)

今回は、[金額]フィールドの合計がNull値の場合 0 にするので、次の式になります。

  Nz(Sum([金額]),0)

クロス集計の[集計]行は、組み込みの[合計]などの集計方法以外の計算は、[演算]に指定して求めます。
したがってデザイン ビューは、次のように設定します。

クロス集計クエリデザインビューNz関数

このとき、演算のフィールド名は任意で構いません。

クロス集計クエリデザインビュー0表示

さて、Nz関数の結果は、文字列のごとく返されます。
キチンと数値化する場合は、数値化する関数の引数にNz関数をネストします。

  CInt(Nz(Sum([金額]),0))
  CLng(Nz(Sum([金額]),0))
  Val(Nz(Sum([金額]),0))

CInt関数は引数を整数型に変換、CLng関数は引数を長整数型に変換します。桁数によって利用してください。
またVal関数は、引数に含まれる数値を適切なデータ型に変換して返します。

関連ヘルプ

クエリの演算フィールドについて、式ビルダーの使い方
重複のない一通りデータを取得したい
外部結合とは
クエリで空白(でない)データを抽出したい、Accessの空白について
重複クエリとは
部分一致のパラメーター クエリを作成する、パラメーター クエリの設定方法
更新クエリでテーブルのデータを置換する(文字列の一部更新)
クロス集計クエリを元にパラメーター クエリを実行「~認識できません」エラー
特定のレコードのみ最初に並べ、他のレコードは普通に並べ替えする
基本的な抽出条件の書き方について
ワイルドカードや数式を使用した高度な抽出
クエリで連番、グループ連番をふる
アクション クエリのメッセージを非表示にするには
ページのトップへ戻る