2016-04-07 14 views
1

我有一个带有短文本字符串的字符串变量。我想用包含在单个单元格内的关键字来代替所有的文本字符串。如何根据单元格中包含的关键字使用数字替换文本字符串

例如:一些细胞状态“我喜欢猫”,而其他细胞“我不喜欢湿狗的气味”。

我想为包含单词cat的所有单元格赋值1,并将数字2赋值给包含单词dog的所有单元格。

我该怎么做?

回答

0

这将使1 NewVar当“猫”出现在OldVar,2为“狗”,3为“小白鼠”:

do repeat wrd="cat" "dog" "mouse"/val= 1 2 3. 
    if index(OldVar, wrd)>0 NewVar=val. 
end repeat. 

这是唯一的好,如果永远不会有一只猫和一只狗在同一句话。如果你有这样的情况下,你应该走这条路:

do repeat wrd="cat" "dog" "mouse"/NewVar=cat dog mouse. 
    compute NewVar=index(OldVar, wrd)>0. 
end repeat. 

这将为每个可能的单词一个新的变量,在当它不是单词出现在OldVar 0的情况下投入1。

+0

你的答案比我找到的还要好,谢谢! – Program

+0

如果您在文本中使用大写字母时遇到问题,则可以像使用解决方案一样使用UPCASE功能。 –

0

显然你要打开语法窗口并输入以下命令:

COMPUTE newvar=INDEX(UPCASE(VAR1),"ABCD")>0 

newvar是新变量的名称。 VAR1是要搜索的变量的名称。 ABCD是要搜索的文本。 注意:这必须在大写字母。

如果找到文本,newvar将接收值1。

相关问题