2016-04-29 201 views
0

我在试图计算几个值的我试图计算第一值的过程是这样的数学公式:反向阵列的顺序的一个在一个SUMPRODUCT

RL =(P *一个 + P *一个 + P *一个 + P *一个 + P *一个)/ L

第二个公式有RL,但有同样的问题。

M = RL * X - P (XA ) - P(XA ) - P (XA ) - P(XA ) - P 1 *(XA )

当我看着这些,我看到一个SUMPRODUCT。

P 。P值以相同的顺序奠定了范围$ C $ 12:$ G $ 12个或命名范围Axle_P

一个 ...一个值以相同的顺序偏移阵列($ X $ 12 $ $ AL 13,0,1,5)其中X12中奠定了高于第一行a值,并且在第一列a值。 AL13保存感兴趣的行的行号。

大号是细胞$ d $ 8
X是细胞$ M41

所以我想用公式

For calculating RL in say cell AA1 

=SUMPRODUCT(Axle_P,offset($X$12,$AL$13,0,1,5))/$D$8 
OR 
=SUMPRODUCT($C$12:$G$12,offset($X$12,$AL$13,0,1,5))/$D$8 

For calculating M 

=$AA$1*$M41 - SUMPRODUCT($M41-offset($X$12,$AL$13,0,1,5),Axle_P) 
OR 
=$AA$1*$M41 - SUMPRODUCT($M41-offset($X$12,$AL$13,0,1,5),$C$12:$G$12) 

问题是,这导致错误序列:

(P *一个 + P *一个 + P *一个 + P *一个 + P *一个)

如何反转P数组或A数组的顺序?

现在我打算将这些最终结合到一个单元格中。当我完成时,我打算将公式向下复制5行。所以基本上5个不同的x值和5个单元格中的输出。

VBA不是一个有效的选项,我宁愿避免使用CSE,但如果它是唯一的方法,那么我会受苦。

现在如果你想知道为什么我不改变M至

M = RL * X - (RL * L)

的是,有一些其他的注意事项我拿到后我会申请此计算出,将设置P N-1 + 1到0,如果一个小于0或大于大号和我有一部分计划进行。至少我这样做,如果这可以在SUMPRODCUT中完成。

回答

1

OFFSET的帮助下以及一系列列偏移量,可以反转一个范围。

实施例:

enter image description here

诀窍是获得开始与结束时从范围内的每个单电池和具有偏移{0,-1,-2,-3,-4}N功能是必要的,因为OFFSET与偏移量阵列一起使用导致{ref,ref,..., ref},其中ref是单元格引用。这{ref,ref,..., ref}将不会被正确评估。 Nref获取数字。

所以你的公式将是:

=SUMPRODUCT($C$12:$G$12,N(OFFSET($AB$12,$AL$13,-(COLUMN($C:$G)-COLUMN($C:$C))))) 

=SUMPRODUCT(N(OFFSET($G$12,0,-COLUMN($C:$G)+COLUMN($C:$C))),OFFSET($X$12,$AL$13,0,1,5)) 
+0

我过研究这个函式N ...之前从未使用过它。然后,我需要仔细检查您提供的公式在我的电子表格中的工作情况。我做了快速的数学检查你的例子,是的,电脑,我同意! 8)智能电脑! –

+0

是生成一个整数的列+列,因为我在我的工作表中我不会从第一个工作表列A开始? –

+0

所以,如果我正确地理解这个,而不是N(Offset(...)),我也可以使用--Offset(...)或1 * Offset(...)?经过一些测试,显然不是。 –

相关问题