2017-10-31 28 views
0

私は列A:Dのデータを含むスプレッドシートを持っています。データA1:D11、A12:D22などの各ブロックは、1日分のデータを表します。 (= A、A、L2、B:B)私は今、最後の週分のデータだけを合計するように求められています。私の現在の公式は(= SUMIF(A1:A55、L13、B:B) - 非常に単純ですが、A1:A55の間のデータだけをチェックするようロックする必要があります。それは参照を(= SUMIF(A12:A66、L13、B:B))に変更します。もし私が$ refernceを使用するなら、同じことをします...私は式をロックして、常にA1: A55?sumifを特定のセル範囲にロック

よろしく

+1

おそらく '間接(" A1:A55 ")'が必要です。 – newacc2240

+0

'= SUMIF($ A $ 11:$ A $ 55、L13、$ B $ 11:$ B $ 55)' –

答えて

1

あなたには、いくつかの欠失または挿入を行うと、Excelが自動的に式に使用する基準をシフトします。例えばB1の元の式がシフトする細胞と細胞A5を挿入した後、=SUM(A1:A20)ある場合式は=SUM(A1:A21)になります。

このような状況を回避するには、式INDIRECTを使用して、stringタイプの引数で決定された参照を返します。それは文字列なので、excelはその値を変更しないため、挿入または削除しても範囲は常に同じになります。

は、だから私はweeknum()を使用した日からweeknumberを算出し、テーブル内の別の列を作成し、特定の検索にsumifを使用し、代替案として、

=SUMIF(INDIRECT("A1:A55"),L13,B:B)

+0

これは完璧に働いています...ありがとうございます。 – TylerH

1

)=それを試してみます週間。

そうすれば、行の挿入をまったく心配する必要はありません。

Indirect()メソッドを使用すると(これは良い解決策であり、問​​題を解決するためにすべて必要な場合もあります)、sumif()がカバーする範囲にデータが挿入されるという問題があります監視している週(たとえば、異なる週のデータを含む行がA55に入力された場合など)。

関連する問題