excel中带数组的公式怎么编?我每次用数组,结果出来的都是一个单元格,拖拉出来的也不是数组

甲乙丙丁戊己共6列数据,现在要在I2位置计算出,满足A列数值为1的B列的和;然后在J2位置计算出满足A列数值为1的C列的和;依次向右类推,分别计算出满足这个要求的各列的和。再然后,往下行,I3行位置是计算出满足A列数值为2的B列的和,往下也依次类推,一直到9。最终要形成一个9*6的矩阵公式。一个一个编太麻烦了,就想用数组,但是现在还不会用,希望能得到入门的知识,以后慢慢摸索也可以

绝大部份的数组公式拖拉时一般都是只能返回数组中的其中一个值,而不会把整个数组的值反应在一个单元格中的。请把公式发上来看看,并说明公式的要求要实现的效果,这样看不到公式问题不好解决,且最好能把数据源截图发上来看看。


以举个例子作为参考:

公式中的数组分常量数组与变量数组,如以下的就是常量数组,它在公式的运行过程中是不会改变的

{3;1;5;4;2}


如以下升序排序公式,在下拉时每下拉一行返回数组中的一个值,则生成的结果是  1 2 3 4 5

=SMALL({3;1;5;4;2},ROW(A1))


如果隆序的,变为5 4 3 2 1 ,则公式变为这样下拉:

=LARGE({3;1;5;4;2},ROW(A1))


变量数组其中的一种方式就是直接通过引用单元格的值,如A1:A5获得,如果A1:A5的值改变,那么这个变量数组的值也会跟着改变,这只是其中的一个举例,变量数组还有共它的生成形式,要视乎公式的要求而定。


追问

还是没弄出来

追答

亲,引用我上面回答中的一点要求:
请把公式发上来看看,并说明公式的要求要实现的效果,这样看不到公式问题不好解决,且最好能把数据源截图发上来看看

追问

甲乙丙丁戊己共6列数据,现在要在I2位置计算出,满足A列数值为1的B列的和;然后在J2位置计算出满足A列数值为1的C列的和;依次向右类推,分别计算出满足这个要求的各列的和。再然后,往下行,I3行位置是计算出满足A列数值为2的B列的和,往下也依次类推,一直到9。最终要形成一个9*6的矩阵公式。一个一个编太麻烦了,就想用数组,但是现在还不会用,希望能得到入门的知识,以后慢慢摸索也可以。图见问题中

追答

提供两种方式解决问题,都不需要用数组公式:

我把文件传上来,请点击这回答右下角绿色的“点击下载”按钮,下载文件看看效果。


I2输入公式右拉再下拉即可。


=SUMIF($A:$A,ROW(A1),B:B)



如果要像题目要求的那样比如第一行条件是1,第二行是3,第三行是9,第四行是5,假定第五行是7,第六行是2,第七行是6,第八行是4,第九行是8,要是像这样没规律的变化,只能是事先手工输入一个对应区域再到公式中引用才能解决,如果条件不多的,也可不必输入而直接把区域整合为一个常量数组,不必另外找地文输入对应的区域。


这是通过读取图中绿色部份的Q与R列返回统计条件的公式,可自行在绿色部份添加条件对应关系,公式自动适应。


=SUMIF($A:$A,VLOOKUP(ROW(A1),$Q:$R,2,),B:B)


如果条件少的,像现在问题中这样在10个以内的,可以直接把绿色部份的条件写为常量数组,这样就可以不必建立绿色部份的Q和R列。


=SUMIF($A:$A,VLOOKUP(ROW(A1),{1,1;2,3;3,9;4,5;5,7;6,2;7,6;8,4;9,8},2,),B:B)


温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-08-09
I2的公式应该是:=sumif($A:$A,row(A1),B:B)

这个不是数组公式,只是涉及到绝对地址(加$符号)和相对地址
比如:右拉时,希望A:A不变,要用$A:$A
1、2、3。。。可以用row(A1)代替,下拉时会递增追问

我知道不是数组公式,这个公式只是想表达一下我的目的,就是要算满足条件的和

我知道不是数组公式,这个公式只是想表达一下我的目的,就是要算满足条件的和

第2个回答  2013-08-09
在I2输入公式:
=SUMIF($A:$A,ROW(A1),B:B)
向右拉再向下拉填充。追问

往下行可以这样 往右行怎么弄?

往下行可以这样 往右行怎么弄?

追答

将光标移到I2单元格的右下角小黑点处,光标变为十字形时按住左键向右拉至相应列处再向下拉即可。

追问

我的意思是如果排列的很规则可以拉,如果排列不规则的话,比如第一行条件是1,第二行是3,第三行诗9,第四行是5,这样的话就不能拉了,就需要用数组公式,不然就得一个一个改,很麻烦

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网