web-dev-qa-db-ja.com

Excelの煩わしさ:元帳で数式を維持する方法は?

Excelの一般的な使用法は、ある種のトランザクション台帳として機能するスプレッドシートを作成することです。このスプレッドシートでは、現在の行の1つまたは複数の値を前の行の値に追加することにより、各行の1つ以上のフィールドが計算されます。

たとえば、列Cがトランザクションの値を保持し、列Dが残高を保持している場合、行D3の式は= D2 + C3になります。この式は、元帳のすべての行に対して繰り返されます。

このタイプのスプレッドシートを維持する際の一般的な煩わしさは、そのような元帳の中央に行を挿入すると、残高を計算するときにその行がスキップされる可能性があることです。次の行の数式は、の数式と一緒に更新する必要があります。挿入された行。

これらの問題を回避するためのテクニックはありますか?

5
davidcl

セルD3の残高計算式には、金額を持つC3と前の残高を持つD2の例に基づいて、=C3+OFFSET(C3,-1,1)を使用します。このように、行を挿入するときに、新しい値を入力して、他の行の1つからバランス式をコピーするだけです。

OFFSET数式を使用すると、残高列の各セルを更新する必要がありません。

Excel OFFSET Formula Example

5
Matthew Rankin

新しい行を追加するときは、行全体を選択し(列Aの左側にある実際の行番号をクリック)、CTRL-Dを使用してその上の行を「複製」します。次に、フォーラムベースではなかった番号とテキストを変更します。しかし、その通りです。説明したように、ある種の「現在の合計」または「累積」値を使用している場合、間に行を追加する場合、これは役に立ちません。 SUM(C $ 2:C3)を使用するTocの応答は、この問題の影響を受けないため、気に入りました。

0
Ender

OFFSETを使用する(適切な)ソリューションの問題は、(行ではなく)列を追加すると、数式が機能しなくなることです。簡単に言うと、この場合、OFFSETは行の追加から保護しますが、列の追加からは保護しません。別の方法は、D3で次の式を使用することです。これは、以下で何度でもコピーできます。

=SUM(C$2:C3)
0
Toc

複数のオプションがあります。1つは、1つのExcelフィールドが完全な行の合計を保持することです。ここで行を追加する場合、それは問題ではありません。

私が使用するもう1つの解決策は、合計が行番号1を取得し、そこにsum(A1:A1000)を書き込むことです。これは、現在の最大数が150であることをよく知っています。このようにして、行を追加してもカウントされます。

解決策3は、どのプログラムのどの操作でスプレッドシートに合計が自動的に変更されるかを確認することです。たとえば、数値の場合、フィールドA16にはsum(A1:15)が含まれ、16行目ではなく15行目の前に行を追加すると、sum(A1:16)を含むA17に自動的に変更されます。だから私はいつも最後の1行を空のままにして、その前に新しい行を追加します!これはExcelやopenofficeでも機能すると思います...

0
Thomas