编辑:使用 =LEN(B3)=LEN(SUBSTITUTE(SUBSTITUTE(B3,"-","")," ","")) 或 =AND(ISERROR(FIND(" ",B3)),ISERROR(FIND("-",B3)))

编辑:使用 =LEN(B3)=LEN(SUBSTITUTE(SUBSTITUTE(B3,"-","")," ","")) 或 =AND(ISERROR(FIND(" ",B3)),ISERROR(FIND("-",B3)))

我想对 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 中,您可以防止两次输入相同的数字。

  1. 选择单元格 B3:B10

  2. 选择数据|数据验证

  3. 选择允许:自定义

  4. 对于此示例中的公式,我们使用 COUNTIF 函数来计算单元格 B3 中值的出现次数,范围为 $B$3:$B$10。公式的结果必须为 1 或 0:

=COUNTIF($B$3:$B$10,B3) <= 1

限制总数

防止输入导致范围超出设定总数的值。在此示例中,总预算不能超过 3500 美元。预算金额位于单元格 C3:C7 中,公式会检查这些单元格中的总数。

  1. 选择单元格 C3:C7

  2. 选择数据|数据验证

  3. 选择允许:自定义

  4. 对于公式,使用 SUM 对 $C$3:$C$7 范围内的值进行求和。结果必须小于或等于 $3500:

=SUM($C$3:$C$7) <= 3500

数据验证 02

无前导或尾随空格

您可以阻止用户在输入的文本前后添加空格。TRIM 函数会删除文本前后的空格以及文本内的任何多余空格。

此示例中的公式检查单元格 B2 中的条目是否等于该单元格中修剪后的条目。

  1. 选择单元格 B2

  2. 选择数据|数据验证

  3. 选择允许:自定义

  4. 对于公式,输入:

=B2 = 修剪(B2)

数据验证 03

文本中无空格

谢谢杰瑞莱瑟姆对于这个例子。

您可以阻止用户在文本字符串中添加任何空格。SUBSTITUTE 函数将每个空格字符“ ”替换为空字符串“ ”

此示例中的公式检查单元格 B3 中的条目是否等于没有空格的条目。

  1. 选择单元格 B3

  2. 在功能区上,单击数据选项卡,然后单击数据验证

  3. 选择允许:自定义

  4. 对于公式,输入:

=B3=SUBSTITUTE(B3," ","") >

数据验证无空格

单元格中无空格

您可以阻止用户在单元格中添加任何空格 - 无论输入的是文本、数字还是两者的组合。以下是两个检查空格的公式。

示例 1

谢谢杰瑞莱瑟姆对于这个例子。

LEN 函数计算在单元格 B3 中输入的字符数,并将其与 SUBSTITUTE 删除空格字符后的字符数进行比较。

  1. 选择单元格 B3

  2. 在功能区上,单击数据选项卡,然后单击数据验证

  3. 选择允许:自定义

  4. 对于公式,输入:

=LEN(B3)=LEN(SUBSTITUTE(B3," ",""))

数据验证无空格

示例 2

FIND 函数查找空格字符“ ”,如果没有找到空格字符,则 ISERROR 函数结果为 TRUE。

此示例中的公式检查单元格 B3 中的条目是否等于没有空格的条目。

  1. 选择单元格 B3

  2. 在功能区上,单击数据选项卡,然后单击数据验证

  3. 选择允许:自定义

  4. 对于公式,输入:

=ISERROR(FIND(" ",B3))

数据验证无空格

相关内容