5

私はこのようなスプレッドシートを持っています:

date | 7/1 | 7/2 | 7/3 | 7/4
-----|-----|-----|-----|-----
 val |  3  |  5  |  1  |  3  
-----|-----|-----|-----|-----

val行を合計したいのですが、現在の日付までです。したがって、今日が7/3の場合、合計は3 + 5 + 1=9になります。今日が7/4だったとしたら、12になります。

列の数を取得するためにこれを理解しました:

=YEARFRAC(B1,TODAY())*360  // B1 is the first date -- 7/1

しかし、私はExcelに合計を行うように指示する方法を理解できません:

=SUM(B2:<B+num cols above>2)

おそらくそれは参照とルックアップと関係がありますが、私はそれらがどのように機能するかについてはあまりよく知りません。

4

4 に答える 4

13

SUMIFを使用できます:

=SUMIF(A1:E1,"<="&TODAY(),A2:E2)

日付がa1:e1にあり、値がa2:e2にあると仮定します。

于 2009-07-08T23:03:11.210 に答える
0

このVBAをモジュールに入れます

Option Explicit

Public Function GetTotal(StartCell As Range) As Integer 
    Dim i As Integer, j As Integer

    i = StartCell.Row
    j = StartCell.Column

    If Cells(i, j) > Date Then
        GetTotal = 0
        Exit Function
    End If

    While Cells(i, j) <> DateAdd("d", 1, Date) 'values up to an including today'
        GetTotal = GetTotal + Cells(i + 1, j)
        j = j + 1
    Wend

End Function

次に、挿入してワークシートセルで使用します

=GetTotal([starting date cell])

[starting date cell]合計が必要な日付のセルはどこにありますか。ワークシートのセルの値は合計になります

于 2009-07-08T23:17:14.100 に答える
0

OFFSET関数がその役割を果たします。ここにも同様の質問があります。テーブルの正確なレイアウトがわからないと、数式は次のようになります。

=SUM(OFFSET(B2,0,0,1,DAY(TODAY()))) 

ここで、DAY(TODAY())は月の日を返します。この数値は、OFFSETで合計する範囲の幅として使用されます。

それが比較的明確だったと思います。幸運を。

于 2009-07-08T22:55:45.687 に答える
0

日付間の値の合計を取得する方法は3つあります。

  1. スミフの使用

    = SUMIFS(B2:B15、A2:A15、 "> ="&F3、A2:A15、 "<="&F4)

  2. sumproductを使用する

    = SUMPRODUCT((A2:A15> = F3)*(A2:A15 <= F4)、B2:B15)

  3. オフセットの使用

    = SUM(OFFSET(B1、MATCH(F3、A2:A15,0)、0、MATCH(F4、A2:A15,0)-MATCH(F3、A2:A15,0)+1,1))

日付範囲がA列にあり、値範囲がB列にある場合。

ここに画像の説明を入力してください

ここに画像の説明を入力してください

于 2016-07-19T21:58:49.827 に答える