公式列省略最后一行大家好,
一位客户问我有关公式评估的问题,并向我发送了这些屏幕截图。
(他们为公式列创建了这个公式,因为他们希望表格不断增长。)

他们看到的问题是最后一行公式列的单元格仍然为空。

这有什么明显的原因吗? 以及解决的方法?
(该公式应该在第 1 列(“Spalte 1”)中找到相关参考,然后将当前行的第 2 列(“Spalte”)中的值除以具有匹配项的行中的相应值。 第 3 列(“Spalte 3”)是公式列。
谢谢并致以最诚挚的问候,
弗洛里安
回复:公式列省略最后一行嵌套的 If() 返回第三个参数是因为第一个参数的计算结果为 false 吗? 它返回字符串“不匹配”,但它是一个数字列,因此缺少结果(“.”)。
此外,它们的公式会自动按行计算。 公式表达式进一步遍历它们的行,并针对每一行遍历所有行。 这个计算有效吗?
回复:公式列省略最后一行我同意马克。 该公式在每一行中进行了大量迭代。 他们到底想计算什么?
此外,他们正在 If() 中间条件中为 Spalte 3[i] 赋值,也许是重复赋值。 这是非常规且难以遵循的,而且可能不是他们想要的。
回复:公式列省略最后一行嗨弗洛里安,
我建议客户使用类似于下面的公式而不是嵌套循环。 此公式除以包含“0%”的行中的值,该值与当前行具有相同的引用。
dt = :Spalte 1 << get data table;
Eval(
Eval Expr(
:Spalte 2 / :Spalte 2[ dt << get rows where(
Contains( :Spalte 1, "0%" ) & Contains(
:Spalte 1,
Expr(
Word( 3, dt:Spalte 1[Row()], "-" )
)
)
) ]
)
);
如果,看起来是这种情况,客户拥有“完美”数据,即行以可预测的顺序出现并且没有丢失的行,那么这个简单得多的公式也同样有效:
:Spalte 2 / :Spalte 2[ Mod ( Row ( ) - 1, 3 ) + 1 ]
这些是下面屏幕截图中的 :spalte 3 和 :spalte 3a 列。 我已经修改了列值,因此比率很容易检查。

干杯,
布雷迪