
答案1
Public Function SumByMerge(ColOffset As Integer) As Double
Dim OneCell As Range
SumByMerge = 0
For Each OneCell In Range(Range(Application.Caller.Address).MergeArea.Address)
SumByMerge = SumByMerge + OneCell.Offset(0, ColOffset).Value
Next
End Function
进而
N2=SumByMerge(-1)
请记住 - 您必须检查源单元格值是否为数字,并且计算是否超出工作表边界。
PS. 如果您将公式输入单元格 (N2),然后选择并合并区域 (N2:N3),Excel 将不会重新计算该函数 - 它无法检测到间接源区域已更改。请手动重新计算。