Excel:如何检查字符串,如果除了给定的选择数组之外还有其他答案?(即,如果有“其他”答案)

Excel:如何检查字符串,如果除了给定的选择数组之外还有其他答案?(即,如果有“其他”答案),excel,Excel,我有下表: 这些是对多回答问题的回答(即有“检查所有适用”说明的调查问题) 使用以下公式,我可以检查单元格A2到A4是否包含单元格B1到D1中的答案 IF(ISNUMBER(SEARCH(B1; A2; 1));1;0) 如果字符串包含答案,则返回1;如果不包含答案,则返回0 我遇到的问题是如何构造代码以搜索字符串,并确定除了给定的选择数组(即A、B和C)之外,它是否还有其他答案 我正在尝试转换我的数据,以便在SPSS中处理它们。只要每个答案少于1000个字符,并且答案之间有一个唯一的分隔符

我有下表:

这些是对多回答问题的回答(即有“检查所有适用”说明的调查问题)

使用以下公式,我可以检查单元格A2到A4是否包含单元格B1到D1中的答案

IF(ISNUMBER(SEARCH(B1; A2; 1));1;0)
如果字符串包含答案,则返回1;如果不包含答案,则返回0

我遇到的问题是如何构造代码以搜索字符串,并确定除了给定的选择数组(即A、B和C)之外,它是否还有其他答案


我正在尝试转换我的数据,以便在SPSS中处理它们。

只要每个答案少于1000个字符,并且答案之间有一个唯一的分隔符(我假设一个逗号,如您在示例中所示),那么下面的方法应该可以工作。如果您要求实际答案和潜在答案之间的比较区分大小写,可以使用
EXACT
功能

但在我看来,将答案输入工作表的另一种方法更可取

在下面的公式中,需要将逗号(用作函数参数之间的分隔符)更改为区域设置中的分号

首先,定义命名公式
公式-->定义名称

seq_999  Refers To:  =IF(ROW(INDEX($1:$65535,1,1):INDEX($1:$65535,255,1))=1,1,(ROW(INDEX($1:$65535,1,1):INDEX($1:$65535,255,1))-1)*999)
然后:

公式根据逗号分隔符将A2拆分为一个数组,然后查看数组中是否有任何元素等于B1的内容。如果是,它将计算
1

填写此项,直到但不包括
Other
列;并根据需要填充

编辑检查A列是否为空

Other
列中,我们使用以下公式:

E2:  =IF($A2<>"",N((LEN($A2)-LEN(SUBSTITUTE($A2,",","")))=SUM(B2:D2)),0)
E2:=IF($A2),N((LEN($A2)-LEN(替换($A2,“,”))=SUM(B2:D2)),0)
我们将第一行中匹配的答案数量与A列中的答案总数进行比较,以确定是否有额外的答案。如果有,则必须有一个
其他


您是否检查过您的配方?我不知道它怎么可能给你准确的结果。还有
其他答案
有自由格式的文本吗?我已经有了。搜索函数搜索字符串并返回搜索字符串所在的编号。如果它有一个值,ISNUMBER通过If函数返回TRUE,这会给我一个答案1。是的,
其他答案
是任何自由形式的文本。复制您发布到工作表中的公式。它正在字符串
A
中查找字符串
A,B
。我怀疑你只是输入了公式,实际上没有使用你发布的内容。@RonRosenfeld提醒你,我仍然没有“其他人”的函数。首先,我需要了解你发布的内容是如何工作的。因为如果真的是这样的话,我不理解你的设置。
E2:  =IF($A2<>"",N((LEN($A2)-LEN(SUBSTITUTE($A2,",","")))=SUM(B2:D2)),0)