2014-12-06 80 views
0

我想在單元上應用數據驗證。當用戶輸入數字值時,數據驗證應該檢查其長度13位數。如果長度大於或小於13位,則應顯示「請輸入13位數字」或不接受該值。如果長度等於13位數,則公式檢查在該範圍內重複。如果找到重複記錄,則應顯示一條消息「請僅輸入唯一記錄」。唯一記錄和特定數字長度的數據驗證

我使用這個公式,但它不會正常工作...

= IF(LEN(A:A)= 13,IF(COUNTIF(A:A,A1)> 1, 「複製」 ,IF(LEN(A:A)<> 13, 「請輸入13位」, 「請輸入13位」)))提前

謝謝...

+1

答:A?有這樣的細胞嗎? – Codeek 2014-12-06 15:35:41

+0

首先不要使用,使用| (管道),第二你的條件不加起來所需的結果。爲什麼打印「請輸入13位數字」兩次 – Codeek 2014-12-06 15:49:29

回答

0

假設A2是小區,其中值B2:B4是值的範圍,輸入的值是整數,使用此:

=IF(LEN(A2)<>13|"Not 13 Digits"|IF(COUNTIF(B2:B4|A2)>1|"DUPLICATE"|A2)) 
+0

告訴我它是否有用。如果它是標記爲答案。貪婪的我:P – Codeek 2014-12-06 15:48:08

+0

爲什麼管道符號?在美國是逗號,在其他一些地區是分號,但我以前沒有看到過管道。我認爲你不應該認爲這是OP的情況。 – 2014-12-06 16:07:04

+0

哦,可能是這樣。我沒有使用過多。當我使用','發生公式錯誤。工具提示向我展示了Pipes,因此我使用並提出了它們。我的錯。 – Codeek 2014-12-06 16:25:48

1

如果在B1中輸入並將其複製下來,則此公式的清理版本將執行您想要的操作。它不僅標誌着重複進行第二次出現以後:

=IF(LEN(A1)=13,IF(COUNTIF($A$1:A1,A1)>1,"duplicate",),"Please enter 13 digit") 

數據驗證,我覺得你可以做的是結合兩個條件,最喜歡的:

=AND(LEN(A1)=13,COUNTIF($A$1:A1,A1)=1) 

,並使用錯誤信息一樣, 「請輸入一個13位,非重複值」

+0

Fww,OPs Len(A:A)'是有效的。它被稱爲[隱式交集](http://stackoverflow.com/a/20941667/445425) – 2014-12-06 19:46:13

+0

@chrisneilsen,有趣的一點。一般來說,如果我有理由,我只會使用它,否則很難理解。特別是,在簡要測試數據驗證時,它似乎只是指A1中的值。我在兩個方向上進行了測試,即A2中的無效數據未被驗證,但A1中的無效數據導致A2驗證錯誤,即使A2有效。順便說一句,你覺得我的答案一般? – 2014-12-06 20:12:28

相關問題