公式資料を参照して構成した手順です。本記事の操作・コードの実行は未確認です。小さな入力例で期待結果を確かめてから利用してください。
できあがるもの
完成表の列は累積構成比、結果は[[0.5], [0.8], [1]]です。
始める前に
- ブラウザー版Googleスプレッドシートの編集権限。新しい検証用ファイルを使い、実在の顧客情報は入力しません。
- ファイルの地域は日本、英語の関数名・カンマ区切りの数式を使います。入力はA列から、結果はF2以降へ分離します。
A1から次の表を作ります。見出しは項目・金額、データ行は[["A", 50], ["B", 30], ["C", 20]]です。数値は文字列にせず数値で入力します。
| 項目 | 金額 |
|---|---|
| A | 50 |
| B | 30 |
| C | 20 |
掲載手順と同じ小さな入力例です。まずは、この値で試してください。
手順
- 新しいシートのA1から入力表を置きます。入力表は最大5列なのでF列と重なりません。文字列の先頭ゼロが必要な場合は、その列をプレーンテキストにしてから入力してください。空欄は「空欄」という文字を入れず未入力にします。 日付・時刻・コードなど文字列として示した列は、先に表示形式をプレーンテキストに設定します。これでDATEVALUEやTIMEVALUEへ文字列を渡せ、日付の自動変換による型の違いを避けられます。
- F1から完成表の見出しを置き、F2へ次の式を1回入力します。右と下の展開先は空け、配列が返っても式を各行へコピーしません。
=ARRAYFORMULA(SCAN(0,B2:B4,LAMBDA(total,value,total+value))/SUM(B2:B4)) - 金額を大きい順に置いた表へSCANの累計を使い、全体合計で割ります。上位2件で全体の80%という集中の位置を確認できます。 式の中の固定値や条件は、この入力例の業務ルールです。実務へ移す前に同じルールを使えるか確認し、入力範囲を伸ばす場合は対応する各列を同じ行数にそろえます。 ARRAYFORMULAで式全体を包み、SCANが返す3行全てを合計100で割ります。50・30・20の入力ではF2:F4に0.5・0.8・1が縦に展開されるため、F2の1セルだけでなく3行を照合します。
- 完成表の列は累積構成比、結果は[[0.5], [0.8], [1]]です。 表示桁数を増やすと端数が見える場合があります。式にROUNDがあるものはその桁で丸め、比率は百分率表示の有無に注意して値そのものを比べてください。
- 式自体は並べ替えません。元表を金額降順にした上で使い、負数や総額ゼロの表にはそのまま適用しません。 元の入力表を残し、条件を1つだけ変えたコピーでも結果の変化を確かめます。確定資料が必要なときは、計算結果を別シートへ値のみ貼り付けて保存してください。
できあがる結果を表で確認する できあがる結果 累積構成比 0.5 0.8 1 金額を大きい順に置いた表へSCANの累計を使い、全体合計で割ります。上位2件で全体の80%という集中の位置を確認できます。 ARRAYFORMULAで式全体を包み、SCANが返す3行全てを合計100で割ります。50・30・20の入力ではF2:F4に0.5・0.8・1が縦に展開されるため、F2の1セルだけでなく3行を照合します。
期待結果と照合する
完成表の列は累積構成比、結果は[[0.5], [0.8], [1]]です。
まずこの入力例で確認し、件数や値が一致しているかを見ます。完了表示だけで判断せず、重複・空欄・対象外データも残っていないか確認してください。
うまくいかないとき
- 式自体は並べ替えません。元表を金額降順にした上で使い、負数や総額ゼロの表にはそのまま適用しません。
- Googleの実画面での数式実行は未確認です。構文の公式資料を参照し、少量データで完成表と照合してから本番へ適用します。
止める・元に戻す
F2の数式を削除すると配列全体も消えます。F1以降に追加した見出しを除去し、テストで変えた入力を元の値へ戻します。入力表自体を数式の出力で上書きしないでください。
公式資料・対応範囲
参照日:2026-10-19。公式資料の一般的な機能説明と、本記事固有の入力例の実行検証は別です。実務での短縮時間や効果は未計測です。