簡體   English   中英

具有動態條件范圍的VBA平均數

[英]VBA Averageifs with dynamic criteria range

我正在嘗試使用WorksheetFunction.Averageifs並具有以下代碼:

Range("C1:C676") = 
Application.WorksheetFunction.AverageIfs(Sheets(modelName).Range("M:M"), _ 
Sheets(modelName).Range("G:G"), Sheets(wsName).Range("A1"))

我遇到的問題是,最后一個條件范圍沒有遍歷Sheets(wsName).Range("A1:676")的整個數據列,以符合初始范圍中C列中的正確行; 它只是一直使用A1。 例如,當初始行為C82時,最終條件范圍應為Sheets(wsName).Range("A82")

如何更改它以動態移動?

您需要在條件中包括相同的范圍,並使用Application.AverageIfs而不是WorksheetFunction.AverageIfs

Range("C1:C676") = 
Application.AverageIfs(Sheets(modelName).Range("M:M"), _ 
Sheets(modelName).Range("G:G"), Sheets(wsName).Range("A1:A676"))

或者,您可以將公式放入這些單元格中,然后將其替換為結果值,或使用Evaluate

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM