我想对 Excel 中的单元格进行一些验证,该单元格允许输入除“-”(连字符)和空格之外的所有字符。我尝试了以下操作,但似乎不起作用。
=ISERROR((OR(ISNUMBER(SEARCH("-",C14)),ISNUMBER(SEARCH(" ",C14)))))
如果有人能给我指明正确的方向我将不胜感激。
答案1
编辑:使用 =LEN(B3)=LEN(SUBSTITUTE(SUBSTITUTE(B3,"-","")," ","")) 或 =AND(ISERROR(FIND(" ",B3)),ISERROR(FIND("-",B3)))
@克里斯·尼尔森-谢谢
我认为正确的方向是这里。如果格式有点“不对”,请点击上面的链接。
为了扩大我的答案的实用性,我为可能有类似问题的人添加了一些信息。
Excel 数据验证示例 自定义条件
通过数据验证防止重复
您可以使用 Excel 数据验证来防止工作表范围内出现重复条目。在此示例中,员工编号将输入到单元格 B3:B10 中,您可以防止两次输入相同的数字。
选择单元格 B3:B10
选择数据|数据验证
选择允许:自定义
对于此示例中的公式,我们使用 COUNTIF 函数来计算单元格 B3 中值的出现次数,范围为 $B$3:$B$10。公式的结果必须为 1 或 0:
=COUNTIF($B$3:$B$10,B3) <= 1
限制总数
防止输入导致范围超出设定总数的值。在此示例中,总预算不能超过 3500 美元。预算金额位于单元格 C3:C7 中,公式会检查这些单元格中的总数。
选择单元格 C3:C7
选择数据|数据验证
选择允许:自定义
对于公式,使用 SUM 对 $C$3:$C$7 范围内的值进行求和。结果必须小于或等于 $3500:
=SUM($C$3:$C$7) <= 3500
无前导或尾随空格
您可以阻止用户在输入的文本前后添加空格。TRIM 函数会删除文本前后的空格以及文本内的任何多余空格。
此示例中的公式检查单元格 B2 中的条目是否等于该单元格中修剪后的条目。
选择单元格 B2
选择数据|数据验证
选择允许:自定义
对于公式,输入:
=B2 = 修剪(B2)
文本中无空格
谢谢杰瑞莱瑟姆对于这个例子。
您可以阻止用户在文本字符串中添加任何空格。SUBSTITUTE 函数将每个空格字符“ ”替换为空字符串“ ”
此示例中的公式检查单元格 B3 中的条目是否等于没有空格的条目。
选择单元格 B3
在功能区上,单击数据选项卡,然后单击数据验证
选择允许:自定义
对于公式,输入:
=B3=SUBSTITUTE(B3," ","") >
单元格中无空格
您可以阻止用户在单元格中添加任何空格 - 无论输入的是文本、数字还是两者的组合。以下是两个检查空格的公式。
示例 1
谢谢杰瑞莱瑟姆对于这个例子。
LEN 函数计算在单元格 B3 中输入的字符数,并将其与 SUBSTITUTE 删除空格字符后的字符数进行比较。
选择单元格 B3
在功能区上,单击数据选项卡,然后单击数据验证
选择允许:自定义
对于公式,输入:
=LEN(B3)=LEN(SUBSTITUTE(B3," ",""))
示例 2
FIND 函数查找空格字符“ ”,如果没有找到空格字符,则 ISERROR 函数结果为 TRUE。
此示例中的公式检查单元格 B3 中的条目是否等于没有空格的条目。
选择单元格 B3
在功能区上,单击数据选项卡,然后单击数据验证
选择允许:自定义
对于公式,输入:
=ISERROR(FIND(" ",B3))