Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Arrays 如何使用算术运算符获取单元格位置_Arrays_Excel - Fatal编程技术网

Arrays 如何使用算术运算符获取单元格位置

Arrays 如何使用算术运算符获取单元格位置,arrays,excel,Arrays,Excel,我试图在Excel公式中执行数学运算,以指定数组的结尾。以下是我想做的一个简单版本: A B C 1 =COUNTA(A1:A5)-1 =SUM(A1:A(1+B1)) 2 3 4 5 第一列是我的数据数组。第二列统计该数组中的条目数(因此,如果未满,则返回小于5的值)。第三列对数组求和,从第一个值开始,以最后输入的值结束。显然,对于SUM函数,是否有零并不重要,但我正在尝试

我试图在Excel公式中执行数学运算,以指定数组的结尾。以下是我想做的一个简单版本:

A      B                      C
1   =COUNTA(A1:A5)-1    =SUM(A1:A(1+B1))        
2       
3       
4       
5
第一列是我的数据数组。第二列统计该数组中的条目数(因此,如果未满,则返回小于5的值)。第三列对数组求和,从第一个值开始,以最后输入的值结束。显然,对于
SUM
函数,是否有零并不重要,但我正在尝试使用
MATCH
函数,我不希望它返回零,因为我正在查找的数组中有空白项


因此,我想修改
SUM
函数中的信息,根据
B1
的返回值生成一个可变数组长度。我希望这是清楚的。谢谢你的帮助

一种方法是像这样使用索引

=SUM(A1:INDEX(A:A,B1+1))

您可以使用定义的范围

A1:INDEX(A:A,B1+1)

在像MATCH这样的其他函数中

=SUM(INDIRECT("A1:A"&(1+B1)))

我正要发布一个xD,我还没有像Barry那样使用
INDEX
xP@Jerry:我习惯于两者,但我更喜欢间接方式:)在某些情况下,间接方式可能更好(也许即使添加了列,您也肯定希望参考列A)但更多时候,我认为索引更可取——因为您不需要“硬编码”列字母……而且它不是(as)volatile@barryhoudini当前位置巴里,你可能是对的,不过目前我更喜欢希德的回答。我所寻找的主要是正确的语法,我并不真正理解如何在公式中使用&字符。修改间接函数对我来说效果更好,因为我已经在使用它引用其他工作表(由活动工作表中的另一个单元格命名),当我尝试使用活动工作表中的值修改另一工作表上的数组时,索引开始变得混乱。没问题,使用最适合情况的工具-有时你只需要小心使用间接工具-如果你过度使用它,那么它会减慢你的工作表,因为每次你改变一些间接工具时,它都会重新计算