excel 条件格式设置,用于检查列是否符合特定格式

xdyibdwo  于 6个月前  发布在  其他
关注(0)|答案(2)|浏览(82)

我希望Excel中的列只允许具有以下格式的值:628-XXXX-A(其中,x可以是0001和00125之间的数字),否则我希望单元格颜色为红色。
有谁知道怎么用公式来写这个吗?
非常感谢!

elcex8rz

elcex8rz1#

如上所述,您可以尝试使用以下公式之一,在**Conditional FormattingData Validation
Conditional Formatting中,如果应用了规则,这将突出显示那些违规的Red,如果在Data Validation中使用,则可以使用Custom Validation Option**来停止输入那些不符合标准的值。


的数据
·单元格B1中使用的公式

=AND(ISNUMBER(-LEFT(A1,3)), --MID(A1,5,4) >= 1, --MID(A1,5,4) <= 125)

字符串
或者,
·公式也可用于单元格B1

=LET(α,LEFT(TEXTAFTER(B1,"-"),4)/1,AND(ISNUMBER(TEXTBEFORE(B1,"-")/1),α>=1,α<=125))

**注:**以上公式不考虑9th10th字符,完全基于前3数字和1st破折号后2nd破折号前的数字。

wyyhbhjk

wyyhbhjk2#

如果你坚持使用条件格式,我建议你使用一个UDF(用户定义函数),比如:

Function isCorrectFormat(r As Range)
  Test = Split(r.Value, "-")
  bResult = True
  If Test(0) <> "628" Then
  bResult = False
  End If
  If (CInt(Test(1)) < 1) Or (CInt(Test(1)) > 125) Then
    bResult = False
  End If
  If Test(2) <> "A" Then
    bResult = False
  End If
  isCorrectFormat = bResult
End Function

字符串
将其构建到Excel工作表中会产生以下结果:


的数据
供您参考:列“B”包含公式=IsCorrectFormat(Ax),它显示了结果的样子,可用于调试目的。

相关问题