我想基于一系列列(GAP1-GAP5)创建一个新列。我想使用这样的东西:
IF FIND(GAP1-GAP5,'New Start') THEN FILTER_NewStart=1
但出现错误,因此必须使用此:
IF FIND(GAP1,'New Start') OR FIND(GAP2,'New Start') OR FIND(GAP3,'New Start')
OR FIND(GAP4,'New Start') OR FIND(GAP5,'New Start') THEN FILTER_NewStart=1;
我需要使用循环还是可以对一系列列使用函数来实现这一目标?
答案 0 :(得分:0)
尝试串联它们,并在变量上使用find
。
if(find(cat(of GAP1-GAP5), 'New Start') ) then FILTER_NewStart = 1;
答案 1 :(得分:0)
听起来像您想使用WHICHC()函数在等于特定值的变量列表中找到第一个变量。如果没有,则结果为零。
FILTER_NewStart=0 ne whichc('New Start',of GAP1-GAP5);
FIND()用于在较长的字符串中定位特定的子字符串,因此无法一次处理多个变量。
答案 2 :(得分:0)
@Tom whichc()是个好主意,但是如果GAP1-GAP5仅包含但不等于“ New Start”,则它不起作用。在这种情况下,find()会更好。