excel里面row(1:1)的问题
用sum(row(1:100))来计算1到100的累加,其中这个row(1:100)是什么意思呢?row(1:1)的拖动为什么可以生成整数呢?为什么使用sum(colum...
用sum(row(1:100))来计算1到100的累加,其中这个row(1:100)是什么意思呢?
row(1:1)的拖动为什么可以生成整数呢?
为什么使用sum(column(1:100))就不是1到100的累加呢?
用if({1,0},某列区域,某列区域)来交换两列的顺序,其原理是什么呢?
我的公式都是对的,是上excel选修课的时候老师提供的
关于这些都是数组公式我也知道。
只是取行号和列号的原理不清楚啊..如果说列标是字母.为什么不管写sum(column(1:N)).这个N取多少,公式的结果都是1到256的累加呢??
最后一个公式是用来交换两列的顺序的..也是数组公式 展开
row(1:1)的拖动为什么可以生成整数呢?
为什么使用sum(column(1:100))就不是1到100的累加呢?
用if({1,0},某列区域,某列区域)来交换两列的顺序,其原理是什么呢?
我的公式都是对的,是上excel选修课的时候老师提供的
关于这些都是数组公式我也知道。
只是取行号和列号的原理不清楚啊..如果说列标是字母.为什么不管写sum(column(1:N)).这个N取多少,公式的结果都是1到256的累加呢??
最后一个公式是用来交换两列的顺序的..也是数组公式 展开
3个回答
展开全部
你的公式是一个数组公式。在编辑栏中显示的结果应该是这样的:
{=sum(row(1:100))}
这两个大括号并不是手工加上的,是在编辑公式的时候用CTRL+SHIFT+ENTER三个键子组合生成的。
这个公式中:ROW(1:100)做为一个数组公式的核心是取得1至100行的行号。如果你用列标公式,因为默认情况下列标是用字母表示的,所以,你用列标函数的时候应该是这样的:
{=SUM(COLUMN(A:CV))}
至于你的最后一个公式,我有点没看明白。不知道你哪来的这个公式。
补充:
当公式以=sum(column(1:100))这种形式存在的时候,由于参数不合法而被忽略,所以公式取的是默认的EXCEL总列数,就是256列,得到的是一个1至256的数组。
你后面给出的公式确实可以实现对两列区域的交换,但,你这也算是断章取义。
由于IF函数的判断条件是一个数组,这样IF函数就会对数据进行检测,对文本形数据和数字数据的计算结果是不一样的,比如,如果是数字,结果是1,如果是文本等非数字数据,就返回一个0.
这样就比较容易理解了,你给出的公式当前一个数据列是文本时就会在目标区域对两列进行位置交换。如果前列是数字时,就不会发生交换。
{=sum(row(1:100))}
这两个大括号并不是手工加上的,是在编辑公式的时候用CTRL+SHIFT+ENTER三个键子组合生成的。
这个公式中:ROW(1:100)做为一个数组公式的核心是取得1至100行的行号。如果你用列标公式,因为默认情况下列标是用字母表示的,所以,你用列标函数的时候应该是这样的:
{=SUM(COLUMN(A:CV))}
至于你的最后一个公式,我有点没看明白。不知道你哪来的这个公式。
补充:
当公式以=sum(column(1:100))这种形式存在的时候,由于参数不合法而被忽略,所以公式取的是默认的EXCEL总列数,就是256列,得到的是一个1至256的数组。
你后面给出的公式确实可以实现对两列区域的交换,但,你这也算是断章取义。
由于IF函数的判断条件是一个数组,这样IF函数就会对数据进行检测,对文本形数据和数字数据的计算结果是不一样的,比如,如果是数字,结果是1,如果是文本等非数字数据,就返回一个0.
这样就比较容易理解了,你给出的公式当前一个数据列是文本时就会在目标区域对两列进行位置交换。如果前列是数字时,就不会发生交换。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询