带有列表的表达式列与给定列表进行比较以替换为所需值你好,
有没有一种方法可以通过向下面的问题的列添加新公式?
我有一列是列表值,我想与给定列表进行比较,如果列中列表中的元素与给定列表匹配,则用“1”替换该单个元素。以下是示例。给定的列表是 {"aa", "app", "b", "pp", "zzzz"}

自动化和脚本编写回复:带有列表的表达式列与给定列表进行比较以替换为所需值以下是您可以使用的一个想法
Names Default To Here(1);
dt = New Table("Untitled",
Add Rows(1),
Compress File When Saved(1),
New Column("Column 1", Expression, "None", Set Values({{"aa", "bb", "dd"}, {"bb", "2", "cc"}}))
);
mylist = {"aa", "bb", "cc"};
dt << New Column("res", Expression, "None");
For Each Row(dt,
rowresult = Transform Each({myitem, idx}, mylist,
If(:Column 1[Row()][idx] == myitem,
"1"
,
myitem
)
);
:res = rowresult;
);回复:带有列表的表达式列与给定列表进行比较以替换为所需值仍有问题。该建议仅将 mylist 中的第一个元素与 :Column 1 中的第一个元素匹配。然后将第二个元素匹配到第二个元素,然后将第三个元素匹配到第三个元素。此外,如果 :column 1 的元素超过 3 个,则其余元素将被删除。以下是建议的结果

如何启用如下。

回复:带有列表的表达式列与给定列表进行比较以用所需值替换我的例子中有一个错误,我错误地理解了你在寻找什么。这很可能更接近你在寻找的内容
Names Default To Here(1);
dt = New Table("Untitled",
Add Rows(1),
Compress File When Saved(1),
New Column("Column 1",
Expression,
"None",
Set Values({{"aa", "bb", "dd"}, {"bb", "2", "cc"}})
)
);
mylist = {"aa", "bb", "cc"};
dt << New Column("res", Expression, "None");
For Each Row(
dt,
rowresult = Transform Each({item}, :Column 1[Row()],
If(Contains(mylist, item),
"1"
,
item
)
);
:res = rowresult;
);
