Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Excel 反转其中一个数组';s在产品中的订单_Excel_Excel Formula - Fatal编程技术网

Excel 反转其中一个数组';s在产品中的订单

Excel 反转其中一个数组';s在产品中的订单,excel,excel-formula,Excel,Excel Formula,我正在尝试计算两个值我尝试计算的第一个值是以下数学公式: RL=(P5*a1+P4*a2+P3*a3+P2*a4+P1*a5)/L 第二个公式中有RL,但存在相同的问题 M=RL*x-P5(x-a1)-P4(x-a2)-P3(x-a3)-P2(x-a4)-P1*(x-a5) 当我看到这些,我看到一个产品 MyP1…P5值在$C$12:$G$12或命名范围中以相同顺序排列 Mya1…a5值在数组偏移($X$12,$AL$13,0,1,5)中以相同的顺序排列,其中X12位于a值的第一行上方和a值的第

我正在尝试计算两个值我尝试计算的第一个值是以下数学公式:

RL=(P5*a1+P4*a2+P3*a3+P2*a4+P1*a5)/L

第二个公式中有RL,但存在相同的问题

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

当我看到这些,我看到一个产品

MyP1…P5值在$C$12:$G$12或命名范围中以相同顺序排列

Mya1…a5值在数组偏移($X$12,$AL$13,0,1,5)中以相同的顺序排列,其中X12位于a值的第一行上方和a值的第一列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)
问题在于,这会导致以下错误顺序:

(P1*a1+P2*a2+P3*a3+P4*a4+P5*a5)

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

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

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

现在如果你想知道我为什么不改成

M=RL*x-(RL*L)


如果ai小于0或大于L并且我已经计划好了该部分,那么在我弄明白这一点后,我将应用一些其他的警告,将Pn-I+1设置为0。如果这可以在SUMPRODCUT中完成,至少我会这样做。

借助
偏移量和列偏移量数组,可以反转范围

例如:

诀窍是从范围中获取每个单元格,范围从末尾开始,偏移量
{0,-1,-2,-3,-4}
N
函数是必需的,因为与偏移数组一起使用的
OFFSET
会导致
{ref,ref,…,ref}
其中
ref
是单元格引用。此
{ref,ref,…,ref}
将无法正确计算
N
ref
获取数字

因此,您的公式为:

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


借助
OFFSET
和列偏移数组,可以反转范围

例如:

诀窍是从范围中获取每个单元格,范围从末尾开始,偏移量
{0,-1,-2,-3,-4}
N
函数是必需的,因为与偏移数组一起使用的
OFFSET
会导致
{ref,ref,…,ref}
其中
ref
是单元格引用。此
{ref,ref,…,ref}
将无法正确计算
N
ref
获取数字

因此,您的公式为:

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


…同时在谷歌表单中:

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


…同时在谷歌表单中:

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


我要去研究这个N函数……以前从未使用过它。然后我需要再次检查您提供的公式在我的电子表格中是否有效。我对你的例子做了快速的数学检查,是的,电脑和我都同意!8) 智能电脑!-列+列是否生成整数计数,因为我的工作表中的I不会从第一个工作表列a开始?因此,如果我理解正确,可以使用-Offset(…)或1*Offset(…)代替N(Offset(…)?经过一些测试,显然不是这样。@Forward-Ed:
-COLUMN($C:$G)+COLUMN($C:$C)
将从负列
C
=-3加列
C
=3=0,负列
D
=-4加列
C
=3=-1。。。不,不能用其他东西代替
N
功能。有必要从单元格引用中获取
N
编号,该单元格引用由
OFFSET
计算。我正在研究这个N函数……以前从未使用过它。然后我需要再次检查您提供的公式在我的电子表格中是否有效。我对你的例子做了快速的数学检查,是的,电脑和我都同意!8) 智能电脑!-列+列是否生成整数计数,因为我的工作表中的I不会从第一个工作表列a开始?因此,如果我理解正确,可以使用-Offset(…)或1*Offset(…)代替N(Offset(…)?经过一些测试,显然不是这样。@Forward-Ed:
-COLUMN($C:$G)+COLUMN($C:$C)
将从负列
C
=-3加列
C
=3=0,负列
D
=-4加列
C
=3=-1。。。不,不能用其他东西代替
N
功能。有必要从通过偏移量计算的单元格引用中获取
N
编号。
=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))), "♦")))