你好,
我認為這是一個相當簡單的公式,但發現自己收到格式錯誤。
我有一個字元類型列,其中包含月份(十月、十一月、十二月等......)。我創建了一個名為「season」的新列,並編寫了一個IF(Contains(...formula to claasifiy if the Month is October then = Fall,依此類推,透過創建4 個類別(夏季、冬季、春季、秋季)的列表。但是,CONTAINS 不會採用 OR。
IE
If(包含(:月份, "十月" | "十一月"), "秋天", Empty())
我缺什麼?任何援助將不勝感激。
正如 Jim 指出的那樣,語法要求 OR 語句在語句內重複列 = 。匹配確實效果更好,但為什麼不直接使用列重新編碼實用程式(它將產生匹配公式)?
您可以在列中搜尋值清單。這是使用該方法的公式。
dt = New Table( "test", Add Rows( 12 ),
New Column( "Month", Character, "Nominal",
Set Values(
{"January", "February", "March", "April", "May", "June", "July",
"August", "September", "October", "November", "December"}
)
),
New Column( "Season",
Character,
"Nominal",
Formula(
spring_list = {"March", "April", "May"};
summer_list = {"June", "July", "August"};
fall_list = {"September", "October", "November"};
winter_list = {"December", "January", "February"};
If( Contains( spring_list, :Month ), "Spring",
Contains( summer_list, :Month ), "Summer",
Contains( fall_list, :Month ), "Fall",
Contains( winter_list, :Month ), "Winter",
);
)
)
);If(Contains(:month, "October") | Contains(:month, "November"), "fall", "")
以上是您所採用方法的正確語法。然而,伊恩的方法是一種更具可讀性,因此更合適的方法
查看「說明 > 腳本索引」中的「Match()」函數。