如何在自定义数据validation中使用用户定义的函数?

在我的Worksheet我有一个Table并希望为包含date的列定义Data validation ,如下所示:

 =S2M(B2)<>"Error" 

在上面, S2M()是用于将date从Persian date转换为Gregorian date的用户定义的函数,因为检查inputdate是正确的。

但是,Excel不会让我在自定义Data validation使用用户定义的函数。

此错误显示:找不到指定的命名范围。

请注意,我在Custom Data validation使用波纹pipe代码,这是正确的。

 =AND(LEN(B2)=10;ISNUMBER(IFERROR(VALUE(MATCH(VALUE(MID(B2;1;4));INDIRECT("intTable[Year]");0)&MATCH(MID(B2;6;2);INDIRECT("intTable[Mounth]");0)&MATCH(MID(B2;9;2);INDIRECT("intTable[Day]");0));FALSE))) 

解释是一个波斯date的例子:1396/05/25

谢谢。

你可以做到这一点。 selectB2,或者您希望validation适用于第2行的任何单元格。 现在定义一个叫做IsValid的名字,使用:

 =S2M(B2)<>"Error" 

现在在数据validation框中,您只需input:

 =IsValid 

在源框中,并确保取消选中忽略空白选项。