2017-04-26 148 views
1

嗨我有一些相當大的工作表詳細描述了呼叫狀態,收入等,我可以直接從我的軟件供應商下載。相關的是此列使用WEEKNUM的Excel SUMPRODUCT函數

COMPLETED 
1/1/2017 00:00 
1/1/2017 02:30 
etc 

我試圖通過weeknumber對於圖形顯示,所以我創建了一個單獨的電子表格,我可以在圖形篩選多年的數據和顯示的獲得這個計數。

我創建了一個表,如:

WeekNumber | Count | Revenue 

我試圖用這個公式進行計數,但它使用的標題單元格,給了我#VALUE。如果我可以跳過標題單元格,我相信它可以工作,但是我嘗試的每一個變體都會失敗。

=SUMPRODUCT(--('2017Q1'!J:J>0)*(WEEKNUM('2017Q1'!J:J+0)=A3)) 
+0

請參閱[備註](https://support.office.com/zh-CN/article/SUMPRODUCT-function-16753e75-9f68-4874-94ac-4d2145a2fd2e)。 – pnuts

+0

您是否考慮過使用數據透視表而不是公式? –

回答

1

WEEKNUM不能在數組中使用。但是你可以用自定義功能實現這一點,這裏是代碼:

Function WeekNum2(dates As Variant) As Variant() 

    Dim weeks() As Variant 
    ReDim weeks(dates.Cells.Count - 1, 0) 
    Dim i As Long 

    For i = 0 To dates.Cells.Count - 1 
     weeks(i, 0) = Application.WorksheetFunction.WeekNum(dates.Cells(i + 1).Value) 
    Next i 

    WeekNum2 = weeks 

End Function 

然後在公式中,使用WeekNum2代替WEEKNUM

此外,請跳過標題,因爲這會弄亂公式,因爲它只接受數字。另外,建議不要使用整個色譜柱,因爲SUMPRODUCT會減慢你的速度。也許可以用一個範圍來讓你的生活更輕鬆。