我正在尝试在整个 Excel 电子表格列中应用复杂的公式。
除了我对该级别的 Excel 没有经验之外,它的复杂之处在于,随着公式的进行,公式部分也在不断增加。
LibreOffice Calc 将其“翻译”为:从 {n} 到 {2} 的总和 {{H} rsub {2} * {I} rsub {n} + {J} rsub {2} * {K} rsub {n} + {H} rsub {3} * {I} rsub {n-1} + {J} rsub {3} *} {K} rsub {n-1} +…+ {H} rsub {n-1} * {I} rsub {3} + {J} rsub {n-1} * {K} rsub {3} + {H} rsub {n} * {I} rsub {2} + {J} rsub {n} * {K} rsub {2}
我该如何解决?有什么建议吗?
谢谢
答案1
如果我正确理解了这个问题,那么你可以用这样的方法解决这个问题:
重要公式如下:
=INDEX($H:$H,ROW())*(INDEX($I:$I,8-ROW()))+INDEX($J:$J,ROW())*INDEX($K:$K,8-ROW())
将其输入到单元格中F2
并将右下角一直拖到末尾。然后G2
包含公式
=SUM($F$2:$F$6)
请注意,中的数字 8F2
只是为了匹配示例屏幕截图,其中的行从 2 到 6。如果您需要运行到 163,则需要相应地调整公式。
您可以在没有辅助列的情况下执行此操作,将所有内容折叠成更复杂的公式。但是,现在我甚至不确定这是否是您想要的...
工作簿示例已上传这里
更新:
在您提供指导性 XLS 后,我明白您需要的计算实际上更复杂。从您上传的 XLS 中复制,您需要的是以下公式,其中行中的每个单元格都变得更加复杂:
=H2*I2+J2*K2
=H3*I2+J3*K2+H2*I3+J2*K3
=H4*I2+J4*K2+H3*I3+J3*K3+H2*I4+J2*K4
等等。
这看起来像是一种
=SUMPRODUCT(H,I)+SUMPRODUCT(J,K)`
但列的顺序I
是K
相反的,并且列的长度取决于您正在计算的行。
无论如何,我能想到的最好的办法是引入两个辅助列N
和,其中包含列和O
的颠倒版本,然后在列中使用以下公式:I
K
Q
=SUMPRODUCT(OFFSET($J$2,0,0,SUM(ROW())-1),OFFSET($O$2,11-SUM(ROW()),0,SUM(ROW())-1))
+SUMPRODUCT(OFFSET($J$2,0,0,SUM(ROW())-1),OFFSET($O$2,11-SUM(ROW()),0,SUM(ROW())-1)
致谢这个答案为了SUM(ROW())
黑客攻击。
N
填写O
如下:
=INDEX($I$2:$I$11,COUNTA($I2:$I$11),1)
对应图片(公式稍微有变化,不过没心思重新截图...):
我上传了相应的工作簿这里当然,您必须编辑一些公式以支持更长的列。或者使所有内容完全动态化,这并不太难,但会导致公式变长。
M
如果您不喜欢辅助列和的视图O
,那么您可以隐藏它们。