如何在公式中使用列索引(而不是列名稱)。你好,
我試圖在 for 循環中執行此操作:
在當前表中,我有 14 列。 列#3~#14 被命名為“步驟1”至“步驟12”。
在 for 循環中,我想創建第 15 列(對於 i = 2、i <=12、i++,命名為“Delta Step i”),其計算公式為 (Col(4) -Col(2))。 然後刪除 Column#3。 相同的公式將在下一次迭代中重複使用。
這裡有兩個問題,
1) 我的公式不起作用,因為輸出表的 Column#15 中沒有值;
2)我擔心一旦檢測到第3列,第15列(實際上是第14列,第3列被刪除後)中的值就會消失。
這是我的腳本。
For(i=2,i<=15,i++,
DeltaStep = "Delta Step "||Char(i);
New Column(DeltaStep)<<FORMULA></FORMULA>
我也嘗試過這個,但也不起作用。
For(i=2,i<=12,i++,
DeltaStep = "Delta Step "||Char(i);
Pre = Column(3) << getname;
Pst = Column(4) << getname;
New Column(DeltaStep)<<FORMULA></FORMULA>
回复:如何在公式中使用列索引(而不是列名稱)。接得好! 人們經常忘記 Column(#) 或 Column("name") 需要空括號 ( [] ) 或 As Column() 包裝器來進行按行計算。 我喜歡將引用視為指向列標題和屬性的指針,並且 ref[] 公開向量或值列表。
關於刪除列,它是一個表消息。您也可以使用下面的 JSL,而無需事先選擇列。
dt << Delete Columns( 3 );
另一個常見錯誤是嘗試刪除用作另一個列公式的參數的列。假設第 4 列使用引用第 3 列的公式。 您必須刪除第 4 列中的依賴公式,然後才能刪除第 3 列。
這是在大多數情況下使用 << Set Each Value(表達式) 與 Formula (表達式) 的另一個原因,那麼新列不會被鎖定,並且依賴關係也不存在。
回复:如何在公式中使用列索引(而不是列名稱)。我對“刪除列”表達式也是錯誤的。
此處附上正確的腳本,請告訴我是否有更好的方法來執行此操作。
謝謝!
For(i=2,i<=12,i++,
DeltaStep = "Delta Step "||Char(i);
New Column(DeltaStep,formula(Column(4)[] - Column(3)[]));
Column(3) << Set Selected;
dt << Delete Columns
);
回复:如何在公式中使用列索引(而不是列名稱)。我想我找到了為什麼我沒有正確執行此操作......
對於我帖子中的第一個腳本,我應該在 Column(3) 之後添加 []...
謝謝,
子豪