Excel:如何确保单元格包含以逗号分隔的特定格式值列表

问题描述 投票:0回答:1

我正在尝试为 Excel 编写自定义数据验证,但失败了,这样单元格只能包含逗号分隔的值列表,其中每个值由两个大写字母后跟八位数字组成。一个好处是逗号分隔的值应该是唯一的。

理想情况下,这可以在基于 Web 的 Excel 版本中运行,但这可能会推动它。

我可以直接验证模式 AB12345678 的单个值...

=AND(ISNUMBER(VALUE(CONCAT((FIND(MID(A1,1,1),"ABCDEFGHIJKLMNOPQRSTUVWXYZ")),(FIND(MID(A1,2,1),"ABCDEFGHIJKLMNOPQRSTUVWXYZ"))))),ISNUMBER(VALUE(MID(A1,3,8))),LEN(A1)=10)

...但无法弄清楚如何将其应用于逗号分隔列表中的多个值。

如有任何建议,我们将不胜感激,谢谢大家!

validation excel-formula
1个回答
0
投票

使用

BYCOL()
TEXTSPLI0T()
(和
AND()
):

    =BYCOL(TEXTSPLIT(A7,","),
AND(ISNUMBER(VALUE(CONCAT((FIND(MID(A1,1,1),"ABCDEFGHIJKLMNOPQRSTUVWXYZ")),(FIND(MID(A1,2,1),"ABCDEFGHIJKLMNOPQRSTUVWXYZ"))))),ISNUMBER(VALUE(MID(A1,3,8))),LEN(A1)=10))

这将输出一个数组,如果你在它周围包裹一个

AND()
,它将只输出
TRUE
FALSE

Edition 1

注意,我用

TEXTJOIN()
", "
编辑了单元格 A7 中 A1:A5 中的列表。

Edition 2

示例 2 显示

FALSE
输出。

(不同语言的 Excel,

WAAR
=
TRUE
ONWAAR
=
FALSE

另请注意:这并不排除重复项: Duplicates

手动完成单元格突出显示

© www.soinside.com 2019 - 2024. All rights reserved.