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)