Sum(Offset(Cell(地址 - 不工作
Sum(Offset(Cell(address - not working
Excel 2007 - 我需要 - 在行中找到第一个非空白单元格,然后将其与接下来的 11 个单元格相加。这 12 个单元格中的一些可能是空白的。
我一直在使用这个不起作用的公式:
=SUM(OFFSET(CELL("address",INDEX(B7:BI7,MATCH(FALSE,ISBLANK(B7:BI7),0))),0,12))
在这个特定的行中,第一个填充的单元格是 AM7,它在上面公式的 CELL 部分中正确返回,但显然我没有正确地将它们放在一起。此外,可能有必要考虑第一个值在最后 12 列内的行,因此要求和的列可能少于 12 列。 table 包含 1270 行,从第 7 行开始,B 列到 BI(含)。请你告诉我哪里做错了。
可以使用一对 INDEX 函数构造单元格范围,这些函数由冒号链接,与传统的硬编码单元格范围非常相似。
以A7为标准公式,
=SUM(INDEX(B7:BI7, AGGREGATE(15, 6, COLUMN(A:BH)/(B7:BI7<>""), 1)):
INDEX(B7:BI7, MIN(AGGREGATE(15, 6, COLUMN(A:BH)/(B7:BI7<>""), 1)+10, COLUMNS(B:BI))))
AGGREGATE¹ function is used to provide the position within columns B:BI to start. A MIN function确保开始位置(结束位置)加10永远不会超过B:BI中的列数。
对于 xl2010 之前的安装,可以使用数组公式复制 AGGREGATE 函数的 SMALL 子函数²。
在A7中作为数组公式²,
=SUM(INDEX(B7:BI7, SMALL(IF(B7:BI7<>"", COLUMN(A:BH)), 1)):
INDEX(B7:BI7, MIN(SMALL(IF(B7:BI7<>"", COLUMN(A:BH)), 1)+10, 60)))
根据需要填写。
¹ AGGREGATE function 是在 Excel 2010 中引入的。它在早期版本中不可用。
² 数组公式需要用Ctrl+Shift+Enter↵。一旦正确输入第一个单元格,就可以像任何其他公式一样向下或向右填充或复制它们。尝试将整列引用减少到更接近代表实际数据范围的范围。数组公式以对数方式消耗计算周期,因此最好将参考范围缩小到最小值。有关详细信息,请参阅 Guidelines and examples of array formulas。
Excel 2007 - 我需要 - 在行中找到第一个非空白单元格,然后将其与接下来的 11 个单元格相加。这 12 个单元格中的一些可能是空白的。 我一直在使用这个不起作用的公式:
=SUM(OFFSET(CELL("address",INDEX(B7:BI7,MATCH(FALSE,ISBLANK(B7:BI7),0))),0,12))
在这个特定的行中,第一个填充的单元格是 AM7,它在上面公式的 CELL 部分中正确返回,但显然我没有正确地将它们放在一起。此外,可能有必要考虑第一个值在最后 12 列内的行,因此要求和的列可能少于 12 列。 table 包含 1270 行,从第 7 行开始,B 列到 BI(含)。请你告诉我哪里做错了。
可以使用一对 INDEX 函数构造单元格范围,这些函数由冒号链接,与传统的硬编码单元格范围非常相似。
以A7为标准公式,
=SUM(INDEX(B7:BI7, AGGREGATE(15, 6, COLUMN(A:BH)/(B7:BI7<>""), 1)):
INDEX(B7:BI7, MIN(AGGREGATE(15, 6, COLUMN(A:BH)/(B7:BI7<>""), 1)+10, COLUMNS(B:BI))))
AGGREGATE¹ function is used to provide the position within columns B:BI to start. A MIN function确保开始位置(结束位置)加10永远不会超过B:BI中的列数。
对于 xl2010 之前的安装,可以使用数组公式复制 AGGREGATE 函数的 SMALL 子函数²。
在A7中作为数组公式²,
=SUM(INDEX(B7:BI7, SMALL(IF(B7:BI7<>"", COLUMN(A:BH)), 1)):
INDEX(B7:BI7, MIN(SMALL(IF(B7:BI7<>"", COLUMN(A:BH)), 1)+10, 60)))
根据需要填写。
¹ AGGREGATE function 是在 Excel 2010 中引入的。它在早期版本中不可用。
² 数组公式需要用Ctrl+Shift+Enter↵。一旦正确输入第一个单元格,就可以像任何其他公式一样向下或向右填充或复制它们。尝试将整列引用减少到更接近代表实际数据范围的范围。数组公式以对数方式消耗计算周期,因此最好将参考范围缩小到最小值。有关详细信息,请参阅 Guidelines and examples of array formulas。