检查单元格是否包含列表中的子字符串 - Excel 2007

检查单元格是否包含列表中的子字符串 - Excel 2007

ImageExtensionList我有一个由图像扩展组成的列表。

在此处输入图片描述

这是我的自定义数据验证。

在此处输入图片描述

现在从逻辑上思考,上的值J2将搜索是否存在于ImageExtensionList

现在,当我尝试测试数据时,它只对列表的第一个值有效。但当我尝试时jpgjpeg它会提示一个错误,说它不存在。

在此处输入图片描述

在此处输入图片描述

在此处输入图片描述

有人能帮我看看为什么它不起作用吗?我在 SO 或一些网站上找到了很多参考资料、帖子和文章。尝试了很多方法,但不知为何它不起作用。

答案1

SEARCH函数用于在另一个文本中搜索一些文本。这不是您在这里需要的。此外,您不能只搜索整个文件名,您需要先提取扩展名。

这是您需要的验证公式:

=COUNTIF(ImageExtensions, RIGHT(J2,LEN(J2)-FIND(".",J2)))>0

怎么运行的:

  1. FIND(".",J2) 查找句点字符的位置,即文件扩展名的开始位置。
  2. LEN(J2)-FIND(".",J2))给出文件扩展名的长度。
  3. RIGHT(J2,LEN(J2)-FIND(".",J2))从文件名右侧取出 x 个字符,其中 x 是扩展名的长度,从而给出文件扩展名。
  4. COUNTIF(ImageExtensions, RIGHT(J2,LEN(J2)-FIND(".",J2)))然后用于计算 ImageExtensions 列表中存在多少个文件扩展名。任何大于 0 的值都是好的。

相关内容