使用列列表輸入Col函數<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />我正在嘗試創建一個腳本,以根據用戶輸入生成新列。輸入來自一個對話框,並以列名列表的形式出現,例如:
Cols = {:Data,:By 1,:By 2};
我想要使用包含Col Number公式的公式創建一個新列“n”:
新列(“n”,公式(Col Number(:Data,:By 1,:By 2)));
但是我堅持得到這個公式:
Col Number({:Data,:By 1,:By 2})
那是同大括號。沒有返回錯誤,但公式不會評估。
如何使用列列表作為Col函數的輸入?
必須允許列數變化。
Re:使用列列表輸入Col函數非常感謝你你的第一個建議是更優雅,並解決了我原來的問題,但你的第二個建議解決了我的第二個問題,我還沒有擺出姿勢。
Re:使用列列表輸入Col函數或者,不是像上面那樣構建表達式,而是可以將列表內容合併到可解析的字符串中。在此示例中,使用替換刪除大括號。
列數 = { : 數據 , : 1 , : 2 } ;
小號 = “新欄目(\!”n \!“,公式(Col編號(” || 替代 ( 燒焦 ( 列數 ) , “{” , “” , “}” , “” ) || “)))” ;
EVAL ( 解析 ( 小號 ) ) ;
字符串方法很簡單並且通常可以工作,但是如果字符串變大,代碼可能會令人沮喪。
Re:使用列列表輸入Col函數這是一種方法:
列數 = { : 數據 , : 1 , : 2 } ;
F = EXPR ( Col編號 () ) ;
對於 ( 一世 = 1 ,一世 <= N項 ( 列數 ) ,一世 ++,
插入 ( F ,列數 [ 一世 ] )
) ;
新欄目 ( “N” ,式 ( 名稱Expr ( F ) ) ) ;