Excel VBA根据匹配的单元格行通过公式进行求和
我想通过公式来匹配匹配单元格的一组列。
基本上,要得到我使用的行: =MATCH(A3,SHEETNAME!$A$1:$A$100,0)
所以我尝试的是:
=IF(MATCH(A3,SHEETNAME!$A$1:$A$100,0), SUM(SHEETNAME!L&MATCH(A3,SHEETNAME!$A$1:$A$100,0)&:U&MATCH(A3,SHEETNAME!$A$1:$A$100,0)), "")
我试图使它在匹配的行中求和列L:U …我做错了什么?
作为工作表公式:
=IF(COUNTIF(SHEETNAME!$A$1:$A$100, A3), SUM(INDEX(SHEETNAME!L1:U100, MATCH(A3, SHEETNAME!$A$1:$A$100, 0), )), "")
作为UDF函数中的VBA代码:
Function udf_Sum_Matching_Row(rVAL As Range) Dim rw As Long, dTTL As Double With Sheets("SHEETNAME") If CBool(Application.CountIf(.Columns(1), rVAL)) Then rw = Application.Match(rVAL, .Columns(1), 0) dTTL = Application.Sum(.Cells(rw, 12).Resize(1, 10)) End If End With udf_Sum_Matching_Row = dTTL End Function
按照您的示例,在工作表上的语法:
=udf_Sum_Matching_Row(A3)