2017-08-16 186 views
2

以我Worksheet我有一個Table和要定義Data validation的是,包含的日期的列,波紋管:如何在自定義數據驗證中使用用戶定義的函數?

=S2M(B2)<>"Error" 

在上面,S2M()是用於將日期從Persian dateGregorian date一個用戶定義的功能,因爲檢查輸入日期是否正確。

但是,excel不讓我使用自定義Data validation中的用戶定義函數。

此錯誤顯示:找不到指定的命名範圍。

請注意,我在Custom Data validation中使用波紋管代碼,這是正確的。

=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))) 

解釋是波斯日期例如:1396年5月25日

感謝。

+1

我認爲你不能,看到這個帖子波紋管:https://superuser.com/questions/797053/use-an-user-defined-function-for-data-validation – ebelair

+0

我不知道,也許那個投票認爲你沒有做足夠研究的人...... – ebelair

+0

Upvoted,因爲這個問題對我來說既合理又清楚。 :) – Rory

回答

1

你可以這樣做。選擇B2,或者您希望驗證適用於第2行的任何單元格。現在定義一個名爲,比如說,IsValid的名稱,可以使用:在數據驗證框

=S2M(B2)<>"Error" 

現在,所有你需要輸入的是:

=IsValid 
源箱

,並確保取消選中忽略空白選項。

+0

問題。我想爲表的列應用驗證。但是,當使用上面的代碼時,「IsValid」參考「代碼,不是從B1擴展到B2和...」。這種方式只適用於在S2M(B2)<>「錯誤」中定義的單個單元格。 – mgae2m

+0

不,如果按照指定輸入它,它將針對每行進行調整。 – Rory

+0

非常感謝。那將是真棒。我可以刪除以上評論,還是更好地留下來? – mgae2m

相關問題