Microsoft Excelでは、累計は一連のデータ内の合計を更新するために使用されます。例えば、口座残高、生徒数、在庫状況などを追跡するために累計を使用できます。通常は、前回の合計値に最新の値を加算する単純な式で十分です。しかし、ビジネスルールによって特別な条件が強制され、処理が滞る場合があります。
このブログ投稿は、TechRepublic のダウンロードで PDF 形式でも入手でき、概説した手法を示すサンプルの Excel ワークシートが含まれています。
累計
累計とは、単に値が発生した時点で合計を計算することです。言い換えれば、累計は現在の値とその前のすべての値を合計します。図Aは、最も単純な形の累計を示しています。数式バーに表示される式は、前の累計値と現在の預金額を加算します。唯一の注意点は、まだ合計する値がないため、系列の最初のセル(セルC2の=B2)は系列の最初の値を参照する必要があることです。
図A
単純な式で合計を維持
図Bは、残高と呼ばれる別の種類の累計を示しています。この場合、残高は単純な買掛金ワークシートにおける未払金の金額を表します。列Dの最初の式は、前の例と同様に、1行目の活動を計算することで合計を固定します。ここでは、セルD2の式=SUM($B2,-$C2)は、最初の未払金から最初の貸方を減算します。
累計計算式はD3から始まり、買掛金から貸方を差し引きますが、前期残高も含みます。在庫管理にも同様のワークシートを使用できます。(通常、このようなシンプルなシートでは、同じ日付に複数のエントリが存在する可能性は低いでしょう。)
図B
入金とクレジットを追跡するには、実行中の合計を使用します。
条件付き累計
ニーズによっては、単純な累計では全く不十分な場合があります。例えば、月ごとの支払額を追跡したいとします。この場合も累計を使用しますが、条件付きで計算する必要があります。
この要件を満たすための最初の試みとしてSumIf()関数が考えられますが、条件を表現できる方法がありません。データ小計機能を試すこともできますが、この機能は月に関係なくすべてのエントリの小計を計算するため、これもうまくいきません。
条件付き累計を計算する鍵は、条件を識別し、その条件をExcelが解釈できる方法で表現することです。この場合、条件は月です。つまり、月と年が同じである限り、値を加算します。月または年が変わった場合は、累計を「最初からやり直す」必要があります。
まずは、条件と計算を一般的な方法で表現することから始めるのが最適です。現在の月と年が前の月と年と等しい場合は、前回の累計値に現在の値を加算します。そうでない場合は、現在の値のみを使用します。
次のステップは、Excelが解釈できる言葉でニーズを表現することです。前の例と同様に、最初の値をアンカーする必要があります。図Cの列Cの最初のセルは、最初の支払額である200ドルを参照します。
図C
すべての累計列には、系列の最初の値を参照するアンカー セルが必要です。
現在の日付と前の日付を比較する条件付き数式は、図Dに示すように、累計を返しますが、必要な累計ではありません。比較には日が含まれており、月ごとではなく日ごとの累計が計算されます。確かにこれは便利な機能かもしれませんが、正しい累計ではありません。
図D
実行中の合計により毎日のエントリを追跡できます。
単一の値で月と年の要素を比較する最も簡単な方法は、2つの要素を結合した新しい列を追加することです。月と年が同じであれば、結合後の値も同じになります。図Eはまさにそのような値、つまり各日付の月と年の要素を結合した結果を示しています。
図E
月と年の値を結合して比較値を作成します。
図Fは、列Dに月間の累計が表示されています。式の構造は基本的に前の式と同じです。ただし、列Aの実際の日付値を比較するのではなく、列Bの連結された値を比較します。列Bの値が同じである限り、式は前回の累計額を現在の支払額に加算します。
ご覧のとおり、実行合計には、行 5 で月が変わるまで支払値が加算されます。列 B の値は前の行と異なるため、式は現在の支払値のみを返します。つまり、実行合計が最初からやり直されます。
図F
より多くの値と年の値を比較して、月ごとのエントリを追跡します。
走れ、全力疾走!
発生した値を追跡するには、累計に条件を設定する際に少し注意が必要です。条件付き累計を計算する方法は、状況によって異なります。重要なのは、条件を自分が理解できる言葉で表現し、それをExcelが理解できる言葉に翻訳することです。
Susan Sales Harkinsは独立コンサルタントであり、データベース技術に関する記事や書籍を多数執筆しています。最新刊は、Mike Gunderloyとの共著『Mastering Microsoft SQL Server 2005 Express』(Sybex社刊)です。Mike Gunderloyとの共著には、Que社刊『Automating Microsoft Access 2003 with VBA』『Upgrader's Guide to Microsoft Office System 2003』『ICDL Exam Cram 2』『Absolute Beginner's Guide to Microsoft Access 2003』などがあります。現在、SusanはDatabase Advisors(http://www.databaseadvisors.com )の出版ディレクターとしてボランティア活動を行っています。連絡先は[email protected]です。