首页 > 解决方案 > 逗号分隔条目上的数据验证?

问题描述

我有一张表,列出了这样的工作费用:

COL A            COL B
CB100            $100
CB101            $200
CB100, CB101     $50

在 COL D 中的几列上方是每个 JOB# 的运行列表:

COL D
CB101
CB102
CB103 etc.

我正在尝试使用数据验证来确保输入到 COL A 中的任何 JOB# 已经存在于 COL D 中。这似乎不能通过验证标准的列表格式来完成。有什么方法可以通过自定义公式来做到这一点?

标签: excel

解决方案


使用此自定义公式

=SUMPRODUCT(--ISNUMBER(MATCH(TRIM(MID(SUBSTITUTE(A1,",",REPT(" ",99)),(ROW($1:$10)-1)*99+1,99)),D:D,0)))>=LEN(A1)-LEN(SUBSTITUTE(A1,",",""))+1

在此处输入图像描述

请注意,数据验证适用于整个 A 列。如您所见,允许输入前两个,但最后一个不是,因为它不在列表中。

因为它只会测试逗号分隔字段中的前 10 个数字。


推荐阅读