在SUMPRODUCT中反转数组的顺序之一

我正在试图计算一些值我正在试图计算的第一个值是这个math公式:

RL =(P 5 * a 1 + P 4 * a 2 + P 3 * a 3 + P 2 * a 4 + P 1 * a 5 )/ L

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

(xa 1 )-P 4 (xa 2 )-P 3 (xa 3 )-P 2 (xa 4 )-P 1 *(xa 5

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

我的P 1 … P 5值按照$ C $ 12:$ G $ 12或命名范围Axle_P的顺序排列

我的a 1 … a 5个值在数组偏移量($ X $ 12,$ AL $ 13,0,1,5)中以相同的顺序排列其中X12高于值的第一行,并且在第一列的价值观。 AL13保存感兴趣的行的行号。

L是单元$ 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 1 * a 1 + P 2 * a 2 + P 3 * a 3 + P 4 * a 4 + P 5 * a 5

我怎样才能颠倒P数组或A数组的顺序?

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

VBA不是一个有效的select,我宁愿避免使用CSE,但如果这是唯一的方法,那么我会受到影响。

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

M = RL * x – (RL * L)

是否还有一些其他的警告,我会得到这个计算出来后,将设置P n-i + 1为0,如果一个是小于0或大于L ,我有计划了这一部分。 至less我这样做是否可以在SUMPRODCUT中完成。

借助OFFSET和一组列偏移量,可以反转一个范围。

例:

在这里输入图像说明

诀窍是从结尾开始,偏移量为{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))