怎样在excel有合并单元格的条件下,实现查询求和的问题

2025-03-13 02:30:09
推荐回答(4个)
回答1:

表中有5列数据,除了第一列,其他每列中都会有合并的单元格,这里,有可能需要分两种情况来处理:

  • 合并的单元格数值相同。

  • 合并的单元格是这个数值的平均值。

  • 当我们需要把这个表格中的数据按行求和或者其他运算的时候,问题来了,合并后的单元格在使用公式的时候,默认为合并的第一个单元格。例如表中B2-B4单元格合并了,值是31,那么在公式取值的时候,只有B2 = 31,其他两个单元格都为0

    是不是尴尬了?

    情况1:合并的单元格数值相同。

    这个比较好处理,首先,复制所有单元格,然后粘贴到新表或者空白处,选择

    只粘贴值,贴过来后,合并的单元格的值只保留了第一个。

    接着,我们使用快捷键CTRL+G,然后定位条件选择空值,点击确定

    这样,我们就选中了所有原本合并单元格转换过来后变成空值的单元格

    紧接着,输入“=”号,然后按一个向上键“↑”,最后按下CTRL+回车,这样,第一种情况就处理完成了,所有合并的单元格都变成了相同的值

    情况2:合并的单元格是这个数值的平均值。

    这种情况逻辑上看比第一种复杂,但是,我们也能用公式很快的处理他,当然,前提是我们知道公式,哦,还有一小段VB代码,话不多说,直接给操作流程:

    1、新增一个模块,输入以下代码:

    Function MergeRowsCount(Rng As Range) As Long

    MergeRowsCount = Rng.MergeArea.Rows.Count

    End Function

    这段代码是给我们新增了一个获取合并单元格数量的自定义函数MergeRowsCount

    2、然后在新表或者空白处输入公式(此处默认数据单元格从A2开始):

    =IF(MergeRowsCount(A2)=1,A2,IF(ISNUMBER(A2),A2/MergeRowsCount(A2),A13))

    3、拉到与原表格一样大小的范围,完成

回答2:

1、在A列“姓名”最后行输入任一个符号(统计用)

2、在N7(怎么不在N6?)输入

=IF(A6="","",SUM(OFFSET(F6,,,MATCH(1,1/(A7:A$100<>""),0),)))

数组公式,输入后先不要回车,按Ctrl+Shift+Enter结束计算,再向下填充。

回答3:

建立辅助列
也就是相当于变相取消合并单元格
比如M6
=LOOKUP("坐",$A$6:A6)
下拉公式
=SUMIF(M:M,"李某王某",F:f)

回答4:

合并单元格就是制造麻烦,不要用了。

要用,就要用代码配合。