跳至主要内容

Kutools for Office — 一套工具,五种功能。事半功倍。

如何在Excel中应用数据验证以仅允许输入数字?

Author Siluvia Last modified

当您需要确保在Excel工作表的特定单元格或区域中仅输入数值时(例如用于ID、计算输入、发票编号或调查分数),设置限制以防止意外输入文本、特殊字符或不需要的符号是非常重要的。Excel提供了几种方法来实现这一点,每种方法都有其独特的优势和使用场景。本教程涵盖了多种方法来限制输入,以便只接受数字,帮助您保持数据的准确性和可靠性。

在Excel中应用数据验证以仅允许输入数字
在Excel中应用VBA代码以仅允许输入数字
使用一款神奇的工具轻松限制单元格范围仅允许输入数字
使用Excel公式进行仅数字验证的方法

更多数据验证教程...


在Excel中应用数据验证以仅允许输入数字

一种简单直接的限制单元格仅输入数字的方法是使用Excel内置的数据验证功能结合自定义公式。这种方法特别适用于快速应用于标准Excel表格,无需宏,并且能轻松集成到现有文档中。您可以将其应用于单个或多个区域,但请注意,它无法阻止用户粘贴非数字值或将数字以文本形式输入(如带前导撇号的情况)。请按照以下步骤设置限制:

1. 选择要限制仅输入数字的单元格区域。例如,如果您的数据将输入到A2至A12单元格,请先选择该区域。在开始时选择正确的区域有助于精确地应用限制,避免覆盖工作表其他地方已有的规则。

2. 单击 数据 > 数据验证 > 数据验证。参见截图:

3. 在“数据验证”对话框中,执行以下操作:

  • 3.1 在“允许”下拉菜单中,选择“自定义”以定义个性化的验证规则。
  • 3.2 在 公式 框中输入以下公式。此公式检查第一个单元格(例如A2)中的输入是否被Excel识别为数字:
    =ISNUMBER(A2)
  • 3.3 单击“确定”按钮以应用验证设置。

注意:确保公式中的A2与所选区域中的第一个单元格引用匹配。如果您的区域从其他单元格开始,请相应更新公式(例如,如果您的区域从B5开始,则使用=ISNUMBER(B5))。

完成这些步骤后,只有数字可以直接输入到指定的单元格中。如果用户尝试输入字母、符号或其他无效内容,Excel将阻止输入并显示错误消息。请注意,如果有人使用复制-粘贴的方式输入禁止的数据,此方法可能无法阻止。此外,像'123这样存储为文本的数字输入也不会通过验证。若要对粘贴的数据进行更严格的控制或应用更复杂的规则,请考虑使用VBA或插件工具。如果您想允许小数或仅限制为整数,请使用数据验证内置的“整数”“小数”选项,而不是“自定义”。

故障排除提示:如果您的验证似乎不起作用,请检查目标区域是否没有冲突的验证规则,并确保您的公式使用了正确的相对单元格引用进行区域选择。如果您希望在无效输入时显示特定于用户的提示信息,请在“数据验证”窗口中单击“错误警告”选项卡并自定义错误文本。


在Excel中应用VBA代码以仅允许输入数字

为了获得更大的灵活性并拦截粘贴以及键入的输入,使用VBA宏是一个有效选项。此脚本将监控定义的单元格范围并清除任何非数字输入,向用户显示警告。基于VBA的解决方案特别适合于想要在更深的层次上强制数据输入完整性或应用复杂逻辑的情况。请注意,必须在工作簿中启用VBA宏才能使此方法生效。

1. 在您希望限制输入的工作表中,右键单击底部的表标签,然后从上下文菜单中选择“查看代码”。这将打开Microsoft Visual Basic for Applications (VBA) 编辑器。

2. 在Microsoft Visual Basic for Applications窗口中,复制以下VBA代码并将其直接粘贴到选定工作表的代码区域中:

VBA代码:在单元格范围内仅允许输入数字

Public mBol As Boolean
Private Sub Worksheet_Change(ByVal Target As Range)
'Updated by Extendoffice 20191120
Dim xStrV As String
Dim xRg As Range
Dim xIRg As Range
Dim xFNum As Integer
On Error Resume Next
If Not mBol Then
Application.ScreenUpdating = False
Set xRg = Range("A2:A12")
If Not Intersect(xRg, Target) Is Nothing Then
    xStrV = Target.Value
    If Not IsNumeric(xStrV) Then
         mBol = True
        Target.Value = vbNullString
        MsgBox "Only numbers are allowed in this range", , "Kutools"
    End If
Application.ScreenUpdating = True
End If
Else
  mBol = False
End If
End Sub

注意:如果需要监控不同的单元格,请将Set xRg = Range("A2:A12")中的A2:A12替换为您实际的单元格范围。此代码会立即清除任何非数字输入并向用户发出警报。它也适用于粘贴的值。但是,如果一次粘贴多个单元格,代码会清除所有粘贴的内容,从而防止粘贴到目标区域。这使其在单个单元格输入场景中最有效。

3. 要关闭VBA编辑器并返回到工作表,请按Alt + Q。现在,尝试在指定的单元格中键入或粘贴:只有数字会保留;任何其他输入都会被移除并显示消息。如果宏不起作用,请确保启用了宏并且代码是在特定工作表的代码窗口中输入的,而不是在通用模块中。

提示:您可以根据需要进一步自定义消息或扩展逻辑以处理小数、整数或额外反馈。如果您在不同的工作表上有多个目标范围,请记住在每个相关的工作表模块中重复上述步骤。


使用一款神奇的工具轻松限制单元格范围仅允许输入数字

对于寻求无需公式或编码即可节省时间方法的用户,Kutools for Excel 提供了“限制输入”工具,可以轻松约束输入为数字并阻止不需要的字符,只需点击几下即可完成。这种方法在应用于不规则范围、混合数据或用户不太熟悉Excel内置验证设置时尤其有效。Kutools还提供了清晰的提示和额外选项,使其对初学者和有经验的用户都非常友好和高效。然而,请注意,此工具需要安装Kutools for Excel。

在应用 Kutools for Excel之前,请先下载并安装它

1. 选择要仅允许数字输入的单元格范围。然后,在功能区上单击 Kutools > 限制输入 > 限制输入。

2. 在“限制输入”对话框中,执行以下步骤:

  • 2.1 选择“仅允许输入指定字符”选项;
  • 2.2 在提供的文本框中输入0123456789(不要包括空格或标点符号)。这将严格限制输入为数字键0-9。
  • 2.3 单击“确定”按钮以应用此限制。参见截图:

3. 如果所选范围已有现有数据验证,将出现一个Kutools for Excel对话框询问是否删除当前规则。单击“”继续并删除现有的验证,或单击“”取消新设置。确认此步骤将用新配置的仅数字规则替换旧的验证。

a screenshot showing original data validation will be removed from the selected range

4. 将弹出一个确认对话框,指示新的限制已生效并总结哪些数字是允许的。单击“确定”完成。

a screenshot displaying a success message confirming the settings have been applied.

现在,所选范围在键入时只接受数字0到9。任何尝试输入其他字符(如字母、符号或空格)的行为都会实时被阻止。请注意:此方法仅控制键入输入,因此粘贴包含非数字字符的内容可能不会受到限制。

注意:如果您稍后需要禁用或修改限制,请返回 Kutools > 限制输入 并单击您所选范围的“清除限制”。

  如果您想免费试用(30天)此工具,请点击下载,然后按照上述步骤进行操作。


使用Excel公式进行仅数字验证的方法

除了上述方法外,有时您可能希望突出显示包含非数字条目的单元格以供审查,而不是立即阻止输入。条件格式结合Excel公式可以直观地标记不需要的数据条目,使这种方法非常适合审计、协作输入或预存数据清理场景。这种解决方案是非侵入性的,不会阻止条目,但它会吸引注意力到错误,以促进手动纠正。

1. 选择要识别非数字条目的范围,例如A2:A12

2. 转到 开始 > 条件格式 > 新建规则。在对话框中,选择 使用公式确定要设置格式的单元格

3. 在框中输入以下公式:

=NOT(ISNUMBER(A2))

此公式对任何不包含数字的单元格返回TRUE,触发所选格式化。

4. 单击 格式,设置高亮颜色或样式,然后单击 确定 应用。根据需要对其他范围重复此操作。

现在,您目标范围内的非数字输入单元格将很容易被识别。这种方法非常适合识别不当输入而不会主动阻止用户操作。请记住,这种替代方法在审查现有工作表或作为协作环境中用户的温和提示时特别有效。

提示:对于更高级的检查,如仅允许正数或排除小数,您可以修改公式。例如,=AND(ISNUMBER(A2),A2=INT(A2),A2>0) 将突出显示所有不是正整数的单元格。


相关文章

在特定单元格中仅允许日期格式
如何在Excel工作表中限制一系列单元格仅允许输入日期格式?本文将讨论一些有趣的技巧来处理这个问题。

验证工作表列中的电子邮件地址
众所周知,有效的电子邮件地址由三部分组成:用户名、"@"符号和域名。有时,您只想让他人在工作表的特定列中输入电子邮件地址格式的文本。本文中的方法将使这一需求在Excel中成为可能。

在Excel中应用数据验证以强制电话号码格式
在输入Excel工作簿时,可能会使用各种电话号码格式。但是,如何在工作表的一列中只允许输入一种电话号码格式呢?例如,我只想允许输入形如123-456-7890的电话号码。本文中的方法将为您提供帮助。

在Excel中使用数据验证仅允许输入SSN号码
为了记录所有员工的SSN号码并强制他们在一列中以xxx-xx-xxxx格式输入SSN号码,您可以使用数据验证功能来解决这个问题。

在Excel中验证单元格仅接受IP地址的三种方法
在使用Excel时,您知道如何设置一列或一系列单元格仅接受IP地址格式(xxx.xxx.xxx.xxx)吗?本文提供了几种方法供您参考。

更多数据验证教程...


最佳Office办公效率工具

🤖 Kutools AI 助手:以智能执行为基础,彻底革新数据分析 |代码生成 |自定义公式创建|数据分析与图表生成 |调用Kutools函数……
热门功能:查找、选中项的背景色或标记重复项 | 删除空行 | 合并列或单元格且不丢失数据 | 四舍五入……
高级LOOKUP多条件VLookup|多值VLookup|多表查找|模糊查找……
高级下拉列表快速创建下拉列表 |依赖下拉列表 | 多选下拉列表……
列管理器添加指定数量的列 | 移动列 | 切换隐藏列的可见状态 | 比较区域与列……
特色功能网格聚焦 |设计视图 | 增强编辑栏 | 工作簿及工作表管理器 | 资源库(自动文本) | 日期提取 | 合并数据 | 加密/解密单元格 | 按名单发送电子邮件 | 超级筛选 | 特殊筛选(筛选粗体/倾斜/删除线等)……
15大工具集12项 文本工具添加文本删除特定字符等)|50+种 图表 类型甘特图等)|40+实用 公式基于生日计算年龄等)|19项 插入工具插入二维码从路径插入图片等)|12项 转换工具小写金额转大写汇率转换等)|7项 合并与分割工具高级合并行分割单元格等)| ……
Kutools支持多种语言——可选择英语、西班牙语、德语、法语、中文等40多种语言!

通过Kutools for Excel提升您的Excel技能,体验前所未有的高效办公。 Kutools for Excel提供300多项高级功能,助您提升效率并节省时间。 点击此处获取您最需要的功能……


Office Tab为Office带来多标签界面,让您的工作更加轻松

  • 支持在Word、Excel、PowerPoint中进行多标签编辑与阅读
  • 在同一个窗口的新标签页中打开和创建多个文档,而不是分多个窗口。
  • 可提升50%的工作效率,每天为您减少数百次鼠标点击!

所有Kutools加载项,一键安装

Kutools for Office套件包含Excel、Word、Outlook和PowerPoint的插件,以及Office Tab Pro,非常适合跨Office应用团队使用。

Excel Word Outlook Tabs PowerPoint
  • 全能套装——Excel、Word、Outlook和PowerPoint插件+Office Tab Pro
  • 单一安装包、单一授权——数分钟即可完成设置(支持MSI)
  • 协同更高效——提升Office应用间的整体工作效率
  • 30天全功能试用——无需注册,无需信用卡
  • 超高性价比——比单独购买更实惠