公式列省略最後一行大家好,
一位客戶問我有關公式評估的問題,並向我發送了這些屏幕截圖。
(他們為公式列創建了這個公式,因為他們希望表格不斷增長。)

他們看到的問題是最後一行公式列的單元格仍然為空。

這有什麼明顯的原因嗎? 以及解決的方法?
(該公式應該在第 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 列。 我已經修改了列值,因此比率很容易檢查。

乾杯,
布雷迪