2009-09-03 8 views
0

値に基づいてExcelでいくつかの行をSUMにしたいと思っています。下の写真では、テーブルを見ることができます。Excelでさまざまな行のSUMIF可変数

ステータスがC1の値であるJan - >(C2で指定された月#)の値の合計を含むF1に値を入れたいとします。

あなたは

= SUMIF(B5:B11、 "開く"、INDIRECT(CONCATENATE( "C5:"、ADDRESS(11,2 + C2))))を行う場合

をあなたは(25を取得しますC5 + D5(1月と2月にオープン)とC8 + D8(1月と2月にオープン)の合計は50です(これはC5とC8の合計です) )

何か意味がありますか?

ご意見、ご提案をお待ちしております。

乾杯

ニック

alt text http://ntdd2425.fm.netbenefit.co.uk/table.png

編集 - 私は中間の列を作成せずにこれを行うことができるだろうと期待しています。 Excelでの不一致は、SUMが複数の列にわたる合計をサポートしているように見えますが、SUMIFはそうでないことに起因します。これは、作業を行います。

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

答えて

2

私はSUMを使用することをお勧めし( )を配列で置き換えます。

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

これを入力すると、配列式として入力されます。

YMMVですが、ここで簡単にテストしました。

基本的には、3つの配列を一緒に乗算している:あなたのデータを1、列で月の一致に基づいて1または0と1、ステータスフィルタに基づいて、1または0で、最後に。配列のサイズが一致しないので、配列が繰り返されます。

+0

私は同じ線に沿って何かを考えていたが、あなたの答えはすでにここにあった: = SUM(MMULT (b5:b11 = c1)* 1、(COLUMN(c4:g4)-COLUMN(c4) jtolle

+0

ニース。それはうまくいく、助けてくれてありがとう! :) –

0

私は、2つのステップで行う方が簡単だと思います。

OFFSET関数を持つヘルパー列を追加して、各行の 'year to date'値を計算します。あなたのデータに基づいた計算式は次のようになります。

= SUM((B5,0,1,1、$ C $ 2)OFFSET)

は、その後ヘルパー列を対象SUMIF機能を追加します。

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

SUMIF screenshot http://img200.imageshack.us/img200/4392/offset.png

関連する問題