在SUMPRODUCT中反转其中一个数组的顺序

问题描述 投票:0回答:2

我正在尝试计算几个值我试图计算的第一个值是这个数学公式:

((ااببلللللللللللللللللللللل

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

M = RL * x-P5(x-a1)-P4(x-a2)-P3(x-a3)-P2(x-a4)-P1 *(x-a5)

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

我的P1 ... P5值按$ C $ 12范围内的相同顺序排列:$ G $ 12或命名范围Axle_P。

我的a1 ... a5值在数组偏移量中以相同的顺序排列($ 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)

问题是这导致错误的顺序:

(B1 * A + A + B + A + B * A + B + 4 A + 4 A + B *兄弟)

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

现在我计划将这些最终合并到一个单元格中。当我完成后,我计划将公式复制到5行。所以基本上有5个不同的x值,输出在5个单元格中。

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

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

M = RL * x - (RL * L)

在我得到这个问题后,我将会应用其他一些注意事项,如果ai小于0或大于L,我会将Pn-i + 1设置为0,并且我已计划好该部分。至少我这样做,如果这可以在SUMPRODCUT中完成。

excel excel-formula
2个回答
3
投票

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
投票

...同时在Google表格中:

=SUMPRODUCT(A2:E2,QUERY(A3:E3,"select E,D,C,B,A"))

=SUMPRODUCT(A2:E2,QUERY({A3:E3},"select Col5,Col4,Col3,Col2,Col1"))

=SUMPRODUCT(A1:A5, TRANSPOSE(SPLIT(JOIN( ,
 ARRAYFORMULA(MID(TEXTJOIN("♦", 1, B1:B5), 
 LEN(TEXTJOIN("♦", 1, B1:B5))-ROW(INDIRECT("1:"&
 LEN(TEXTJOIN("♦", 1, B1:B5))))+1, 1))), "♦")))

0

© www.soinside.com 2019 - 2024. All rights reserved.