判断多项字符串至少一项被包含

编辑
文档创建者:axing (73248 )     浏览次数:560次     编辑次数:1次     最近更新:axing 于 2018-04-03     

目录:

1.问题描述编辑

有时候我们要判断一个多项字符串是否至少有一项被另外个字符串包含。

如:有一批货原本是属于"A供货商,B供货商"的,结果却被"B供货商,C供货商"拼车拉走了。

这批货有没有出问题呢,只要判断"A供货商,B供货商"中是否至少有一项在"B供货商,C供货商"中,如果有就没问题。

222

2.解决思路编辑

将两个字符串都转化为数组,判断一个数组的每一项是否存在其中一项在另外个数组中,如果有,则包含,否则不包含。

3.解决步骤编辑

1)将字符串1分割成数组:SPLIT(字符串1,",")

222

2)确保第二个字符串转化为数组:IF(FIND(",", 字符串2) > 0,SPLIT(字符串2,","), ARRAY(字符串2))

这是因为字符串2中如果没有分隔符,则SPLIT(字符串2,",")的结果还是一个字符串。

字符串1就算没转化成功也能参与后面的运算,就不强制。

222

3)判断字符串1转化的数组的每一项是否存在字符串2数组中:GREPARRAY(字符串1数组, INARRAY(item, 字符串2数组) > 0)

这里使用了 INARRAY( )函数来判断是否存在, INARRAY( )的第二个参数一定要是数组,这就是第二步需要强制转化的原因。

222

4)判断上一步结果的项数,项数大于0则包含,否则不包含:IF(LEN(上一步结果)>0,"包含","不包含")

222

5)综合判断公式为:IF(LEN(GREPARRAY(SPLIT(字符串1,","), INARRAY(item, IF(FIND(",", 字符串2) > 0, SPLIT(字符串2,","), ARRAY(字符串2))) > 0)) > 0, "包含", "不包含")

222

附件列表


主题: 专题总结
如果您认为本文档还有待完善,请编辑

文档内容仅供参考,如果你需要获取更多帮助,付费/准付费客户请咨询帆软技术支持
关于技术问题,您还可以前往帆软社区,点击顶部搜索框旁边的提问按钮
若您还有其他非技术类问题,可以联系帆软传说哥(qq:1745114201

此页面有帮助吗?