メインコンテンツへスキップ
見出し画像

[Excel]データ集計をどう行うか? 実際の自治体データをもとに考える⑧ 検算で集計ミスがないか確認する

    実際の自治体データ(茨城県の旅館業の許可状況)を元に集計をしてみるこのシリーズの過去記事は、マガジン「実際の自治体データで集計をしてみる」でどうぞ。

    前記事「データ集計をどう行うか? 実際の自治体データをもとに考える⑦ 許可の種類別の件数を集計する(COUNTIFS関数)」で「営業の種類」別の件数を出しました。

    画像

    ファイルはこちらです。

    しかし、この集計、間違っているおそれがあります。
    例えば、計算式が違っている。
    下の例は、「下宿」の件数欄の計算式が間違っていいます。
    本来は、F3セルの「下宿」を参照して、同じものが入っているセルの個数を「DATA」のH列から算出するのですが、参照元がE3の「簡易宿所」になっています。

    画像
    「相対参照」にすべきところを「絶対参照」にしてしまう、
    あるいはその逆、などは、やりがちなミスです。

    上の例であれば、すぐ左の「簡易宿所」と件数が同じなので、おかしいことに気付きます。
    でも、項目がたくさんあると、そんなミスに気付かない場合もあります。

    また、「DATA」一覧の「許可の種類」欄に空欄があると、間違った件数が出てしまいます。

    画像
    入力時はちゃんと「旅館・ホテル」と入れていても、
    何かの拍子で消してしまうこともありえます

    上のように、「旅館・ホテル」と入るべき欄が空欄になっていると・・・

    画像
    「旅館・ホテル」の件数が違います

    「旅館・ホテル」の件数にも間違いが生じます。

    項目名と違うデータが入っている場合もあります。

    画像
    「旅館・ホテル」が「旅館」になっていると・・・

    なぜか、「旅館・ホテル」が「ホテル」になっていると・・・

    画像
    件数が合いません

    やはり、「旅館・ホテル」の件数に誤りが出ます。

    他にも、色々な理由でミスは起こりえます。
    しかし、計算式を入れて安心してしまい、ミスに気付かない場合があります。というか、データが多いとミスにきづけません。

    ミスに気付くには、一つの計算方法だけではダメです。
    他の計算方法もやってみて、その結果が合っているか確認すべきです。
    いわゆる「検算」です。

    検算の方法はいろいろあります。
    「データ集計をどう行うか? 実際の自治体データをもとに考える④ 「営業の種類」別の数を、計算式を使わないで、どう出す?」で示した方法も、検算として使えます。
    でも、これだと、「DATA]シートに変更があると(月次や年次のデータ追加時等)に、その都度、検算をしなければいけません。
    また、手作業での検算は、「忘れる」「間違う」リスクがあります。

    「ミス」が起こることを前提にチェックの仕組みを作っておく

    ミスはいつだって起こりえます。
    ミスが起きることを前提に、チェックする仕組みを作っておくことが大事です。
    この場合の「仕組み」とは、意識しなくても、手作業をしなくても、ミスが分かる、ということです。

    検算の計算式を入れておく

    そのためには、検算の計算式を入れておきます。
    計算式を入れておけば、「自動で」「間違いなく」検算が出来ます。

    検算の計算式は、集計表により変わりますが、ここでは次のように考えてみます(こういう「考え」をすることが、計算式を作る第一歩です。)。

    E列「営業施設の名称」の件数が、H列「営業の許可」の各種類の件数の合計と同じなら、計算式やデータのミス(空欄や誤表記)はない。

    これを具体的な計算式にしてみます。
    E列「営業施設の名称」の件数をH3に出します。

    単純な件数を出す COUNTA関数を使う

    単純な件数を出すには COUNTA関数を使います。
    Microsoftサポートによると、COUNTA関数は、
    「範囲に含まれる空白ではないセルの個数」を出す(返す)関数です。
    数値も文字列も含めて個数を出します。
    なお、最後のAがない COUNT関数は、数値の個数を出します。
    今回は、「名称」という数値ではないもの(=文字列)の数を数えるので、COUNTA関数を使います。

    まず、H3セルに =c と入れます。

    画像

    関数候補が出るので、↓ で選んで、Tabで確定します。
    =u から何文字入れても構いません。たくさん入れた方が、選択肢が少なくなって選びやすくなります。
    私は、=counta( と直接入力しています。よく使う関数なので覚えています。

    次に、「DATA」列に移動して、E列「許可施設の名称」を選択します。
    具体的には「E」のところをクリックします。
    行の指定は不要です。

    画像
    Eのところをクリックすると、E列が点線で挟まれたことが分かります

    これで、Enterを押せば、計算式が出来上がります(最後の「 ) 」は入れなくても大丈夫です。自動で入ります。)。
    しかし、以下の表を見ると、「計」と検算の数値が違います。

    画像
    「計」は1,026、「検算」は1027となっています。

    これは、「検算」の計算式 =COUNTA(DATA!E:E) には
    「DATA」シートの表頭(ヘッダー)の「許可施設の名称」も個数として含まれるため、これも1件として計上されてしまっています。

    画像

    そのため、H3の計算結果から1を引く必要があります。
    これは
    =COUNTA(DATA!E:E)-1 で計算できます。
    H3セルを選択して、ダブルクリック(非推奨)またはF2(推奨)し、
    後ろに -1 を付けるだけです(いずれも半角)。
    Enterで確定します。

    画像
    「検算」の欄にもカンマを入れてあります

    これで、「計」と検算が同じ答えになりました。

    検算としては、この2つの数値を見比べればいいのですが、
    「見比べて、同じかどうか」を判断するには、集中力を使います。
    確認箇所が1つだけだったり、数値の桁が少なかったりすれば、さほどの手間ではありませんが、確認箇所がいくつかあったり、数値の桁数が大きい(あるいは小数点以下が並ぶ)場合、「数値を見比べて、同じか確認する」ことは負担です。見逃しのリスクもあります(99,936と99,336など)。

    その負担を減らすには、「計」と「検算」が合っているか自動で表示させます。
    やり方は、とっても簡単です。
    IF関数を使います。
    検算の右に「判定」と入れ、
    その下に以下のように入力します。
    =IF(G4=H4,"OK","相違!!")

    IF関数は「エクセル関数 基本のキ」の一つなので、今更かもしれませんが、
    =if(条件、条件に合致する場合、合致しない場合)で記述します。
    =if(○=■,A,B)
    なら、「〇と■が同じ」なら「A」と表示、同じでなければ「B」を表示します。
    A・Bには、数値やセル番号、計算式、文字列などが入ります。
    文字の場合は「””」で挟みます。
    数値やセル番号、計算式は「””」で挟む必要はありません。

    画像

    順番としては、
    ① =if( と手入力(すべて半角)
    ② マウスでG4セルを選択 →「=if(G4」と入る。
    ③ = を手入力
    ④ H4セルをクリック → 「=IF(G4=H4」と入る。
    ⑤ 「,"OK","") 」と手入力し、Enter
    ⑥ F2をクリックし、=IF(G4=H4,"OK","")の ”” の間にカーソルを移動し、相違!! と入力(別の表現でも構わない。)
    ⑦ Enter で確定

    画像

    これで出来上がりです。
    「計」と「検算」が合っていれば、「OK」と表示されます。
    2つの数値を見比べなくても、「OK」と出ていれば合っているとわかるので、集中力を浪費することはありません。

    もし、「旅館・ホテル」が「ホテル」になっていたり、空欄があったり、そもそも各項目の計算式が間違って「計」が違っていると・・・

    画像
    「下宿」の欄に「簡易宿所」と同じ計算式が入っているため、
    「計」も違っています。

    「計」と「検算」の数値が違うので、「判定」欄には「相違!!」と出ます。

    なお、「計」と「検算」が合っている場合、わざわざ「OK」と出さなくていいかもしれません。なぜなら、本来は合致して当然だから。
    「計」と「検算」が違っているときだけ、「相違!!」と表示する方がシンプルです。
    その場合は、=IF(G4=H4,"","相違!!")と記述します。
    G4とH4が同じなら空欄(””)を表示し、違っていれば「相違!!」を表示する、という記述です。
    この場合、I4セルの文字を赤にしておくと、エラーが目立ちます。

    画像
    「計」と「検算」が合っている場合の「OK」を削り、
    セルの文字色を赤にしました。
    画像
    「計」と「検算」が違うと、「相違!!」が赤字で表示されます。

    これで、計算ミスがないかどうかの表示ができました。

    でも、この表が「提出表」だとすると、この「検算」や「判定」の部分まで印刷して提出するわけにはいきません。
    さりとて「列の非表示」は好ましくありません。むしろ、御法度。
    「非表示」にすると、後任が引きついても気づかないおそれもあります。
    印刷の度に「非表示」にして、また「表示」に戻すのも手間です。
    どうすればいいでしょうか?

    それは次回お示しします。

    今回のファイルです。ご参考にどうぞ。


    あなたへのおすすめ