0

値に基づいて、Excelの行数を合計したいと思います。下の写真では、表を見ることができます。

Jan->(C2で指定された月#)の値の合計を含む値をF1に入れたいと思います。ここで、StatusはC1の値です。

もし、するなら

= SUMIF(B5:B11、 "open"、INDIRECT(CONCATENATE( "C5:"、ADDRESS(11,2 + C2))))

25(セルI2)(C5とC8の合計)が得られますが、結果として実際に必要なのは50(C5 + D5(1月と2月にオープン)とC8 + D8(でオープン)です。 1月と2月))

それが理にかなっていることを願っていますか?

コメント、提案をお待ちしております。

乾杯

ニック

代替テキストhttp://ntdd2425.fm.netbenefit.co.uk/table.png

編集-中間列を作成せずにこれを実行できることを望んでいます。Excelでの不整合は、SUMが複数の列にわたる合計をサポートしているように見えるが、SUMIFはサポートしていないという事実によるものです。したがって、これは機能します。

= SUM(INDIRECT(CONCATENATE(ADDRESS(5,3)、 ":"、ADDRESS(5,2 + $ C $ 2))))

4

2 に答える 2

2

配列で SUM() を使用することをお勧めします。

  =SUM(C5:G11*(IF(COLUMN(C5:G11)<=($C$2+1),1,0)*IF($c$1=b5:b11,1,0)))

それを Ctrl-Shift-Enter で入力して、配列数式として入力します。

YMMVですが、こちらの簡単なテストで動作しました。

基本的に、3 つの配列を掛け合わせます。1 つはデータ、1 つは列ごとの月の一致に基づく 1 または 0、最後の配列はステータス フィルターに基づく 1 または 0 です。配列はサイズが一致しないため、繰り返されます。

于 2009-09-03T16:17:12.360 に答える
0

2段にするとやりやすいと思います。

OFFSET関数を含むヘルパー列を追加して、各行の「年初来」の値を計算します。データに基づく式は次のようになります。

=SUM(オフセット(B5,0,1,1,$C$2))

次に、ヘルパー列を対象とするSUMIF関数を追加します。

=SUMIF(B5:B11,$C$1,H5:H11)

SUMIF スクリーンショット http://img200.imageshack.us/img200/4392/offset.png

于 2009-09-03T16:26:56.303 に答える