如果有合并单元格,则使用宏或公式来合并行

如果有合并单元格,则使用宏或公式来合并行

我正在尝试制定一个公式或宏,当行共享一个合并单元格时,该公式或宏会拾取以创建 1 行(参见第 N 列中的示例)。除 L 列和 N 列外,所有其他细节均相同。L 列和 N 列也需要加在一起才能创建总值。

虽然并非所有订单都有合并单元格,但有些只是单行

AK 和 OY 列都是相同的数据。L 和 N 列包含不同的数据,需要将它们相加才能得出总金额,而 N 列是跨行合并的单元格,包含 1 个数字。

尽管其他行的所有列都有不同的数据,这意味着它需要自己挑选行

图像 点击图片查看大图

答案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 将不会重新计算该函数 - 它无法检测到间接源区域已更改。请手动重新计算。

相关内容