Skip to main content

部門別のログインデータを日別に集計しています。月別でも出しており、日別集計において総計表示で月別平均値も​表示したいです。月別の平均は月間日数(4月なら30日)を分母にします。

ところが部門によっては実績がない日があり、その部門のその日の実績は0​なのでデータにレコードが存在しません。

そこで、ZN(LOOKUP())を使うことで、レコードが無い日にも0を表示させるようにしましたが、表計算となってしまい分析→合計→次を使用して合計が平均を選んでも合計となってしまいます。対応方法等ありましたらご教示頂きたいです。0を表示させるためにZNだけや欠損値表示等試しましたが、ダメでZN(LOOKUP())だけ0で表示できたのですが…実際のデータが出せないので、説明がわかりにくくて申し訳ございません。よろしくお願いします。​

답변 2개
  1. 2021년 11월 29일 오후 2:02

    おそらく次の図の赤点​を打ったところのように空白になっているのだと想像しています。

    おそらく次の図の赤点​を打ったところのように空白になっているのだと想像しています。​このようなときにZNとLOOKUPを使って空白欄にゼロを表示するというテクニックがありますが、仰るようにLOOKUPを使って表計算​扱いになると総計の計算方法がうまく動かなくなります。これはバグというわけではなく、小計や総計が表計算上の別のペインにある単独の値として扱われるので、私たちが頭で考えるような結果になって

    このようなときにZNとLOOKUPを使って空白欄にゼロを表示するというテクニックがありますが、仰るようにLOOKUPを使って表計算​扱いになると総計の計算方法がうまく動かなくなります。これはバグというわけではなく、小計や総計が表計算上の別のペインにある単独の値として扱われるので、私たちが頭で考えるような結果になっていないのです。

    image

    こういった場合、SIZE関数を使って総計/小計とそれ以外の行を分けて計算することで解決できる場合があります。先ほど申し上げたように表計算関数であるLOOKUPを使用したことで、小計はそれだけで単独のペイン(表計算範囲)として扱われます。

    imageこの場合、基本的に小計は月につき1行しか現れませんから、SIZE関数で表計算範囲のサイズをとると1になります。対して日付は1ヶ月分、この図の例だと11月のデータなのでサイズは30になります。

    image

    このようにSIZEで識別できるときは、以下のような式で小計行とそれ以外の行で計算を分けることができます。2行目がちょっと長いですが、やっていることはサイズが1なら(つまり小計行なら)売上の合計(小計)をその月の日数で割って、そうでないなら(つまり小計行でないなら)ZN+LOOKUPでゼロ埋めしながらその日の値を表示しているというだけです。

    image​<結果>

    image

    別シートで見参してみると、小計に表示された値がその月の平均になっていることが分かります。サンプルワークブックを付けていますので、表計算の範囲指定などの詳細はそちらでご確認ください。​

0/9000