0

表には列 B から Z があります。列 A の値が「3 月 15 日」以上の場合、見出しとして「3 月 15 日」を含む列を合計したいと思います。

したがって、Sheet1に次のものがあれば-

     A       B       C       D       E
1          Mar-15   Apr-15  May-15  Jun-15
2 Feb-15    1       2       3       4
3 Mar-15    100     200     300     400
4 Apr-15    1000    2000    3000    4000
5 May-15    10000   20000   30000   40000

そして、Y列とZ列に次のものがあります-

    Y       Z
1 Month    Value
2 Mar-15    ?

見出しが Y2 で、列 A が Y2 以上の列の値を合計する数式を Z2 に記述できるようにしたいと考えています。したがって、ここでは、Y2 にMar-15が含まれているため、式に必要な答えは1110になります。

より明確にするために、Y2 にApr-15が含まれている場合、Z2 の結果は22000になります。

今、私は式を持っています

=MATCH(Y2,$1:$1,0)

これにより、Y2 の値と一致する最初の行の列インデックスである 2 が得られます。

次に、見出しのアドレスを取得するように変更します-

=ADDRESS(1,MATCH(Y2,$1:$1,0))

これにより、$B$1が得られます。列を単独で取得するために、=LEFT(ADDRESS(1,MATCH(Y2,$1:$1,0)),2)私は$Bを取得しています

ここで、SUMIFSこのアドレス関数によって返される列の を実行し、列 A が Y2 の値よりも大きくなければならないという条件を指定します。

=SUMIFS(<something>,A:A,">="&Y2)

何かあるべきです?Y2 の値によっては、合計する列が異なる場合があります。では、何かの代わりにどの式を挿入すればよいでしょうか?

$Bが得られるLEFT(ADDRESS(1,MATCH(Y2,$1:$1,0)),2):LEFT(ADDRESS(1,MATCH(Y2,$1:$1,0)),2)ので試してみましたが、この式で $B:$Bが得られると思いましたが、うまくいきません。LEFT(ADDRESS(1,MATCH(Y2,$1:$1,0)),2)

4

2 に答える 2

2

この式を試してください

=SUMPRODUCT(--(A2:A200>=Y2),INDEX(B2:E200,0,MATCH(Y2,B1:E1,0)))

MATCH を使用して、範囲 B2:E200 (0 は、その選択された列のすべての行を意味します) で参照する列を見つけます。テストA2:A200>=Y2は、指定した最初の列をチェックし、 -- は一致を 1 ミスから 0 に変更し、SUMPRODUCTそれらの 1/09 を選択した列の値で乗算して結果を取得します。

さらに読みたい場合は、ここを参照してください

于 2015-11-22T18:34:01.007 に答える