LibreOffice Calc如何引用其他单元格指定行范围对数据区域求和
解决方案
你之前的SUMIF写法无法生效是因为SUMIF的条件参数不支持直接嵌入多条件行号判断逻辑,以下是两种可直接在LibreOffice Calc中运行的实现方案:
方案1:SUMPRODUCT实现(兼容性更好,逻辑直观)
使用公式:=SUMPRODUCT(A1:B4; ROW(A1:B4)>=D1; ROW(A1:B4)<=D2)
原理说明:SUMPRODUCT会按位置匹配多个数组的元素相乘后求和,两个行号判断条件会生成布尔数组,符合行范围的位置值为1、不符合为0,相当于自动过滤掉范围外的单元格数值再求和。你给出的示例代入后计算逻辑为2+3+6+10=21,完全符合预期。
方案2:OFFSET动态区域求和
使用公式:=SUM(OFFSET(A1; D1-1; 0; D2-D1+1; 2))
原理说明:OFFSET函数会根据D1、D2的数值动态构造出符合行范围的待求和区域:以A1为起点,向下偏移D1-1行定位到起始行的第一列,区域高度为结束行减起始行加1、宽度为2(对应A、B两列),再对这个动态区域直接求和即可。
内容的提问来源于stack exchange,提问作者Rodrigo
相关产品推荐
相关产品推荐

