如何在Excel中创建SUMIFBOLD(SUMMEWENNFETT)公式?
SUMIFBOLD(SUMMEWENNFETT)自定义函数VBA实现
以下是实现同时按条件筛选且仅对加粗格式单元格求和的VBA代码,你可以直接添加到Excel的模块中使用:
Function SUMIFBOLD(rngCriteria As Range, criteria As Variant, rngSum As Range) As Double Dim cell As Range Dim i As Integer Dim sumTotal As Double ' 确保条件区域和求和区域行数/列数匹配 If rngCriteria.Count <> rngSum.Count Then SUMIFBOLD = CVErr(xlErrRef) Exit Function End If sumTotal = 0 i = 1 For Each cell In rngCriteria ' 判断单元格是否满足条件,且对应求和区域的单元格字体为加粗 If Application.WorksheetFunction.CountIf(cell, criteria) = 1 And rngSum.Cells(i).Font.Bold = True Then ' 仅当单元格为数值时累加 If IsNumeric(rngSum.Cells(i).Value) Then sumTotal = sumTotal + rngSum.Cells(i).Value End If End If i = i + 1 Next cell SUMIFBOLD = sumTotal End Function ' 德语版本函数名 Function SUMMEWENNFETT(rngCriteria As Range, criteria As Variant, rngSum As Range) As Double SUMMEWENNFETT = SUMIFBOLD(rngCriteria, criteria, rngSum) End Function
使用说明
- 打开Excel,按下
Alt + F11打开VBA编辑器; - 右键点击当前工作簿,选择「插入」→「模块」,将上述代码粘贴到模块窗口中;
- 返回Excel工作表,在单元格中输入公式:
- 英文版本:
=SUMIFBOLD(条件区域, 条件, 求和区域) - 德语版本:
=SUMMEWENNFETT(条件区域, 条件, 求和区域)
- 英文版本:
举个例子:如果要对A列中等于"产品A"的行,求和B列中加粗的数值,公式可以写为=SUMIFBOLD(A:A, "产品A", B:B)(德语版本替换函数名即可)。
内容的提问来源于stack exchange,提问作者sp8cky
相关产品推荐
相关产品推荐

