これで何ができるか
集計欄が小計・中計・総合計の3段になっても、今回の実測では数式が崩れませんでした。架空の店舗別売上表(エリア→店舗の2階層)と部門別経費表(部署→担当者の2階層)を用意し、それぞれ3段の数式を作らせました。
- 自由に数式を選ばせた場合——材料2種×5回=10回とも、小計・中計・総合計の3段すべてが正しい数式でした
- SUBTOTAL関数を禁じても——5回とも崩れませんでした(かなり込み入った式にはなりました)
- 「自分自身を含めない」という注意書きを外しても——3回とも自分から二重計上を避ける形を選びました
- 参考——同じ言い回しを2段構造で試した既存記事では、小計欄は10回中3回しか正しくありませんでした
「3段にしても絶対に崩れない」という意味ではありません。同じ指示文で試した2段構造の実測は3割しか合っていませんでした。段数の深さそのものより、その回にAIがどの関数を選ぶかのほうが結果を左右すると考えられます。
この記事は集計欄が2段でも、危ういのは小計欄の続きです。あちらは小計+総合計の2段で、本文が自ら「集計欄が3段以上になる場合は、また違う結果になるかもしれません」と書いて終わっていました。その3段を実際に作って試したのが今回です。関連する実測に集計表の合計欄は、データの右に置くもあります。
前提
| かかる時間 | 25分 |
| 費用 | 無料。無料のチャットAIで足ります |
| 必要なもの | 表計算ソフト(Excel または Google スプレッドシート)と、小計・中計・総合計の3段がある表 |
| プログラミング | 不要。この記事の指示文をコピーして貼るだけです |
納品先の実データを、そのままAIに貼らないでください。この記事の材料はすべて架空です。
AIへの頼み方
1. 全国チェーンの店舗別売上表で試す
架空の店舗別売上表を用意しました。3エリア(関東・関西・中部)に各2店舗、店舗ごとに3日分の売上が並びます。店舗の小計欄(6か所)・エリアの中計欄(3か所)・全社の総合計欄(1か所)が空欄になっています。
5回とも、小計・中計・総合計のすべてをSUBTOTAL関数(集計方法9)で組みました。SUBTOTALには、範囲内にある別のSUBTOTAL結果を自動で無視する性質があります。そのため、中計・総合計の範囲に小計行が含まれていても二重計上されません。5回とも、店舗の小計6個・エリアの中計3個・全社の総合計1個、計10個の数式が正しいことを確認しました。判定はPythonによる機械判定です。
2. 同じ指示文を、部門別経費表でも試す
材料を部門別経費表(3部署×各2担当者、担当者ごとに3費目)に替えて、同じ指示文を試しました。
こちらも5回とも満点でした。店舗別売上表と合わせて、材料2種×5回=10回・のべ100個の数式チェックがすべて正しいという結果です。この記事の仮説(3段にすると最下位の段がさらに崩れやすくなる)は棄却します。
うまくいかないときの言い直し方
SUBTOTAL関数を使わせたくないとき
10回とも同じ関数(SUBTOTAL)を選んでいたので、その関数を封じても同じ結果になるか確かめました。
5回とも、値としては正しい数式にたどり着きました。ただし手段はかなり込み入っていました。中計欄の工夫は「範囲に明細と小計の両方が入って2倍になることを見越して2で割る」というものです。総合計欄の工夫は「区分列が『売上』の行だけを拾う」というものです。SUBTOTALという便利な関数を封じても、この5回では崩れませんでした。
「自分自身を含めない」の一文を外したいとき
縛りの一文自体が結果を左右しているのか、外して確かめました。
3回とも、自分から「二重集計を避けるため」とSUBTOTALを選び、崩れませんでした。指示文1・2と同じ数式パターンです。この材料では、注意書きの一文が無くても結果は変わりませんでした。
応用・次の一手
なぜSUBTOTALだと二重計上にならないのか、理由も聞いてみました。
2回とも正確に説明しました。「自分と同じ種類の集計(SUBTOTAL関数)で計算されたセルを、集計対象から自動的に無視するという仕様」があるためです。架空の例まで示して図解した回もあり、捏造や誤りはありませんでした。
店舗の増減があっても崩れない保守の手順も聞きました。
2回とも、次の骨格が共通していました。
- 区切り行・見出し行を用意する
- SUBTOTALで数式を作る
- 既存行をコピーして挿入する(合計行のすぐ上には入れない)
- 削除は行ごと削除する
- 金額が合っているか検算する
⚠️ この結果は、この2種類の架空データ・合計18回の実測です。「AIは集計表を何段にしても絶対に崩れない」と一般化しないでください。試したのは、次の範囲までです。
- 階層は3段まで(4段以上は試していません)
- 各段の呼び方(小計・中計・総合計)を指示文にそのまま書いた場合だけ
- 材料はいずれも18明細・28行程度の小さな表(数百行規模の実データは試していません)
同じ指示文でも、2段構造では小計欄の的中率が3割でした。この事実を踏まえると、別の日・別のセッションで試したら違う結果になる可能性があります。返ってきた数式は、行を1つ足して合計が動くかを自分の目で確かめてください。
今回の生の返りは docs/evidence/three-tier-subtotal-still-correct.md に全文置いてあります。