嘗試將公式添加到資料驗證中,以檢查字串是 6 位數字還是 6 位帶連字符或空格的數字。例如
123456 或 12-34-56 或 12 34 56
該字串還可以包含前導零。
用戶應該無法輸入與上述格式不同的字串,因此
123-456 或 1234567 ....例如
不想使用 VBA,但正在努力將其變成資料驗證公式。
任何想法,將不勝感激
uj5u.com熱心網友回復:
嘗試這個:
=AND(SUBSTITUTE(SUBSTITUTE(A1," ",""),"-","")*1<=999999,SUBSTITUTE(SUBSTITUTE(A1," ",""),"-","")*1>=1,LEN(SUBSTITUTE(SUBSTITUTE(A1," ",""),"-",""))=6)
此公式去除連字符和空格,然后檢查數字是否為 6 位數字以及它是否介于 1 和 999999 之間。如果有任何字母/符號,*1 部分將導致錯誤。
編輯:@JvdV id 正確。我誤讀了您的要求。這是我的第二次嘗試:
=AND(OR(ISNUMBER(MATCH("??-??-??",A1,0)),ISNUMBER(MATCH("?? ?? ??",A1,0)),AND(IFERROR(A1*1,0)<=999999,IFERROR(A1*1,0)>=1)),ISNUMBER(SUBSTITUTE(SUBSTITUTE(A1,"-","")," ","")*1))
這是它允許和不允許的內容:

uj5u.com熱心網友回復:
現在有點困難,但是呢:
=AND(TRIM(A1)=RIGHT(A1,8),MID(RIGHT(TEXT(A1,"00-00-00"),8),3,1)=MID(RIGHT(TEXT(A1,"00-00-00"),8),6,1),LEN(SUBSTITUTE(SUBSTITUTE(A1," ",""),"-",""))=6,ISNUMBER(--SUBSTITUTE(SUBSTITUTE(A1," ",""),"-","")))
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/315027.html
