如何在Excel中仅对含Shift+F2插入批注的单元格求和?
对Excel中带批注的单元格求和的几种方法
方法一:VBA宏批量计算(适合多工作表)
这是最省心的批量处理方式,能直接算出所有工作表里符合条件的单元格总和:
- 按
Alt + F11打开VBA编辑器 - 右键左侧工程窗口里的你的工作簿名称,选「插入」→「模块」
- 把下面的代码粘贴进去:
Function SumWithComments(Optional ws As Worksheet) As Double Dim cell As Range Dim total As Double total = 0 If ws Is Nothing Then Set ws = ActiveSheet For Each cell In ws.UsedRange If Not cell.Comment Is Nothing Then If IsNumeric(cell.Value) Then total = total + cell.Value End If End If Next cell SumWithComments = total End Function Sub SumAllSheetsComments() Dim ws As Worksheet Dim grandTotal As Double grandTotal = 0 For Each ws In ThisWorkbook.Worksheets grandTotal = grandTotal + SumWithComments(ws) Next ws MsgBox "所有带批注单元格的总和为: " & grandTotal, vbInformation End Sub
- 运行宏:按
F5执行,或者回到Excel界面按Alt + F8,选中SumAllSheetsComments点执行,弹窗会直接显示总和 - 如果只需要单个工作表的结果,直接在单元格输入
=SumWithComments(),指定工作表就写=SumWithComments(Sheet1)(把Sheet1换成目标表名)
方法二:无VBA的条件格式+筛选求和
不想碰代码的话用这个手动方法:
- 按
Ctrl + A全选当前工作表,打开「开始」选项卡→「条件格式」→「新建规则」→选「使用公式确定要设置格式的单元格」 - 输入公式
=NOT(ISNULL(CELL("comment",A1))),给带批注的单元格设置个显眼的填充色(比如黄色),每个工作表都这么操作一遍 - 找个空白单元格输入
=SUBTOTAL(9, 你要统计的区域)(9代表求和,区域可以选整个工作表或者指定范围) - 切换到「数据」选项卡→「筛选」,然后按颜色筛选出刚才设置的填充色,此时
SUBTOTAL会自动算出筛选后可见单元格的总和,也就是带批注单元格的数值和
方法三:用原生查找功能直接看总和
既然你已经知道原生查找能定位带批注的单元格,直接用这个快速求和:
- 按
Ctrl + F打开查找框,点「选项」→「格式」→切换到「批注」选项卡→选「有批注」→确定 - 点「查找全部」,对话框底部会列出所有带批注的单元格,按
Ctrl + A选中这些结果 - 看Excel窗口最底部的状态栏右侧,默认会显示选中单元格的总和(如果没显示,右键状态栏勾选「求和」就行)
内容的提问来源于stack exchange,提问作者thiago
相关产品推荐
相关产品推荐

