使用Sumiif()合并单元格的条件求和

时间:2015-12-01 23:02:57

标签: excel vba

场景是2个工作表,Sheet1和Sheet2。

Sheet1配置:

Sheet1

Sheet2配置:

Sheet2

问题: 客户想要在Sheet2(C:C)中输入每日香蕉量,并将总数自动添加到Sheet1中作为周数。我所面临的问题,我相信是合并的细胞。当我删除合并的单元格并将周数添加到具有此公式的所有单元格时(= SUMIF(A:A,E3,' Sheet2!C:C))我成功了但是客户更愿意保留合并单元格,并且只返回该周的第一个值。我错过了一些简单的东西吗?似乎无法绕过这个。

3 个答案:

答案 0 :(得分:4)

由于多种原因,合并细胞是个坏主意,应该避免使用。

这并不意味着您无法实现客户所需的外观。您可以将数字填入所有未合并的单元格,然后使用条件格式隐藏七个数字中的六个。在下面的屏幕截图中,A列具有使用此公式的条件格式

=MOD((ROW()+2)/7,1)

应用的格式为自定义数字格式;;;(或在白色背景上使用白色字体)。如果您的数据在另一行开始,请调整公式。

请注意,公式栏清楚地显示所选单元格的值为26。

enter image description here

答案 1 :(得分:3)

这是我发现的:

=SUM(IF(LOOKUP(ROW(Sheet2!$A$2:$A$15),ROW(Sheet2!$A$2:$A$15)/(Sheet2!$A$2:$A$15<>""),Sheet2!$A$2:$A$15)=A2,Sheet2!$C$2:$C$15))

这是一个数组公式。进入表1 C2。按 Ctrl Shift 输入。然后复制下来。

答案 2 :(得分:0)

从我的角度来看,这个特定布局的重要方面是一周有7天,你在一周的每一天都列出。合并的单元格由合并区域中的左上角单元格标识。寻找26回报A2并寻找27回报A9。如果您使用这些行号引用C列并将范围扩展到7行,那么您可以对匹配的星期求和。

在G2中(根据提供的图像),

'volatile OFFSET function
=SUM(OFFSET(INDEX(C:C, MATCH(E2, A:A, 0)), 0, 0, 7, 1))
'non-volatile INDEX function
=SUM(INDEX(C:C, MATCH(E2, A:A, 0)):INDEX(C:C, MATCH(E2, A:A, 0)+6))

除了视觉参考之外,任何一个表中的日期都是无关紧要的。

enter image description here