1
我想寫一個函數,取決於日期,但我不能讓它工作。 Excel不斷告訴我,此公式中使用的值具有錯誤的數據類型。所以它必須是日期,因爲除了添加日期值之外,我還有另一個功能完全相同。函數不工作,因爲我使用日期?
有人在Excel單元格C10中寫入日期,然後我不想從某個表格(在同一工作簿中的另一張表格中)中總結某些數字(預測通脹率,列P)的函數在開始日期(第一列)和結束日期(第J列)。
我已檢查過Excel是否將單元格C10解釋爲日期,但它具有序列號。
但我不明白爲什麼這是一個問題,因爲我用它來比較其他日期(序列號)?
Public Function FetchFactorInflation(Product As String, ArgName As String) As Double
Dim Datum As Date
Datum = DateValue(Worksheets("InputTariff").Range("C10").Value)
Dim MinDatum, MaxDatum As Double
MinDatum = "<=" & Datum
MaxDatum = ">=" & Datum
FetchFactorInflation = Application.SumIfs(Worksheets("tariff").Range("P:P"), _
Worksheets("tariff").Range("I:I"), MinDatum, _
Worksheets("tariff").Range("J:J"), MaxDatum, _
Worksheets("tariff").Range("K:K"), Product, _
Worksheets("tariff").Range("L:L"), ArgName)
End Function
首先,定義'Dim MinDatum,MaxDatum As Double'意味着'MaxDatum As Double'和'MinDatum as Variant',它需要'Dim MinDatum As Double,MaxDatum As Double'。其次,您需要將日期轉換爲Double,如'MinDatum = CDbl(Datum)'。最後,當你檢查你的'SumIfs'函數時,你將使用'工作表(「關稅」)範圍(「我:我」),「> =」&MinDatum'。 –
謝謝你的回答,它解決了我的問題! – AnnieFrannie