KutoolsforOffice — 一套方案,五大工具。事半功倍。

如何在 Excel 中缩写数字?

作者修改日期

在 Excel 中处理大型数据集时,常会遇到较大的数字,不仅让工作表显得杂乱,还增加了阅读和分析的难度。例如,展示像 1,234,56712,000,000 这样的数值,容易让读者信息过载,尤其在仪表板或摘要报告中更为明显。此时,将数字缩写(如将 1234567 转换为 1.23M,或将 12000 转换为 12K)能显著提升可读性,并保持布局简洁紧凑。本教程为您介绍几种在 Excel 中缩写数字的实用方法,包括内置格式设置、公式和 VBA 宏——每种方法适用于不同场景,助您根据个人偏好和工作流需求灵活选择!

示例数据箭头缩写数字

缩写数字|使用 Excel 公式缩写|使用 VBA 宏缩写数字  


蓝色右向气泡箭头缩写数字

在 Excel 中,一种简便的数字缩写方法是通过“设置单元格格式”对话框自定义数字格式。此方法仅改变数字的显示形式,不会影响其底层实际值,因此基于这些单元格的计算结果依然精准无误。它特别适合用于快速生成报告,或在无需新增辅助列的情况下让数字自动更新显示。但请注意,该方法不会输出文本结果,也无法在同一列中混合使用不同单位(如 M 和 K)并应用复杂逻辑——对于此类需求,建议使用公式或宏来实现。

1. 选择要缩写的数字范围,然后在选区中任意位置右键单击,从上下文菜单中选择设置单元格格式

从右键菜单中点击“设置单元格格式”

2. 在设置单元格格式对话框中,切换到数字选项卡,在左侧列表中选择自定义,然后在类型字段中输入:[>999999]#,,"M";#,"K"。此自定义格式可让 Excel 将大于 999,999 的数字显示为百万(带“M”),其余数字则显示为千(带“K”)。参见截图:

设置数据类型

3. 单击确定应用格式。您所选区域中的数字将以缩写形式显示,让大型数据集更易于快速浏览和理解。

缩写数字的结果

提示:若只需将所有大数以千(“K”)显示,请在类型框中输入 #,"K";若仅需百万,请使用 #,,"M";十亿或万亿则分别使用 #,,,"B"#,,,,"T"。如需同时显示百万与十亿并自动标注对应单位,请使用 [>999999999.999]#,,,"B";[>999999.999]#,,"M";#,##0 _M。请注意,数字格式仅影响显示效果,不会更改用于计算的实际数值。如需实现更复杂的逻辑(例如四舍五入、控制小数位数或处理负数),建议结合公式或 VBA 宏使用。

注意事项:如果您的数据包含小于 1,000 的数值,将按原始数字显示,不会进行缩写。此方法无法在同一单元格中同时使用“M”和“K”表示法,除非采用扩展的自定义格式(但存在限制)。请注意,格式化后的数字在底层公式中仍保留原始值,复制或导出数据时可能造成混淆。


使用 Excel 公式缩写数字(将转换为文本)

如果您希望在新列中显示缩写结果,并需要自定义逻辑(例如保留一位小数显示为 1.25M、混合使用 K/M/B/T 单位,或将结果以文本形式精确控制),可借助 Excel 函数生成动态缩写。此方法也非常适合用于冻结显示内容,或在其他公式及输出中进一步操作该文本。

适用场景:当您需要文本输出,或需实现自定义格式所不支持的高级缩写逻辑时,此方法最为理想。适用于摘要、仪表板,以及在导出或粘贴结果时共享数据。

1. 在目标单元格中输入以下公式(例如,若数字位于单元格 )A2,请在单元格 B2 中输入):

=IF(ABS(A2)>=1000000000,TEXT(A2/1000000000,"0.00")&"B",IF(ABS(A2)>=1000000,TEXT(A2/1000000,"0.00")&"M",IF(ABS(A2)>=1000,TEXT(A2/1000,"0.00")&"K",A2)))

此公式会检查 A2 中的值,根据数值大小自动以 B(十亿)、M(百万)或 K(千)缩写,并保留两位小数;支持负数,且小于 1,000 的值将原样显示。

2. 按 Enter 确认公式。如需应用到更多行,请向下拖动填充柄,或根据需要将公式复制到其他单元格。

实用技巧:要自定义小数位数,请调整 TEXT 函数中的 "0.00" 部分(例如,使用 "0.0" 即可保留一位小数)。若需处理极大数值(如万亿及以上),可进一步扩展 IF 模式。

注意事项:此方法生成的是文本结果,因此除非重新转换,否则这些数字无法在 SUM 等数学公式中正确计算。如需避免尾随零(例如显示“12M”而非“12.00M”),请在 TEXT 函数中使用自定义格式。


使用 VBA 宏缩写数字

对于希望在整个数据范围内实现数字缩写完全自动化,或需应用公式与数字格式难以处理的自定义规则的用户,可使用 Excel VBA 宏。该方法支持就地替换,也可在新列中生成缩写结果,非常适合重复性任务或大型表格处理。

最适合:在大型或动态范围内自动缩写;构建可复用的自定义工作流;批量处理不同数据布局。

1. 首先,按 Alt + F11 打开 Excel 中的 VBA 编辑器。在 VBA 窗口中,单击插入 > 模块,创建一个新模块,并将以下代码复制到模块窗口中:

Sub AbbreviateNumbersAddColumn()
    Dim rng As Range
    Dim cell As Range
    Dim destCol As Range
    Dim abbrevValue As String
    
    On Error Resume Next
    xTitleId = "KutoolsforExcel"
    
    Set rng = Application.Selection
    Set rng = Application.InputBox("Select the range of numbers to abbreviate", xTitleId, rng.Address, Type:=8)
    
    If rng Is Nothing Then Exit Sub
    
    Set destCol = rng.Offset(0, 1).Columns(1)
    
    For Each cell In rng
        If IsNumeric(cell.Value) Then
            If Abs(cell.Value) >= 1000000000 Then
                abbrevValue = Format(cell.Value / 1000000000, "0.00") & "B"
            ElseIf Abs(cell.Value) >= 1000000 Then
                abbrevValue = Format(cell.Value / 1000000, "0.00") & "M"
            ElseIf Abs(cell.Value) >= 1000 Then
                abbrevValue = Format(cell.Value / 1000, "0.00") & "K"
            Else
                abbrevValue = cell.Value
            End If
        Else
            abbrevValue = cell.Value
        End If
        
        destCol.Cells(cell.Row - rng.Row + 1, 1).Value = abbrevValue
    Next
    
    MsgBox "Abbreviated values written to the column to the right of the selection."
End Sub

2 要运行代码,请先关闭 VBA 窗口。在 Excel 中,选中需要缩写的数字范围,然后按 F5 键 或单击“运行”。宏会提示您选择一个范围,并将缩写结果自动写入原始范围右侧的相邻列中。

使用技巧:如果您希望保留原始数据,此方法非常安全——结果将显示在相邻的新列中。您也可以修改代码以覆盖原始数据,但除非已做好备份,否则不建议这样做。

故障排除提示:请确保工作簿中已启用宏。如果您的数据包含文本或空单元格,宏将保持这些内容不变。如需自定义标签(例如用“T”表示万亿),请相应调整 If 代码块。


最佳办公效率工具

🤖KUTOOLS AI 助手:基于以下内容革新数据分析:智能执行   |  生成代码|  创建自定义公式  |  数据分析及生成图表|  调用 Kutools Functions……
热门功能查找、高亮或标记重复项   |  删除空白行   |  合并列或单元格且不丢失数据   |  不使用公式的四舍五入……
高级 LOOKUP多条件 VLookup  |  多值 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、Publisher、Access、Visio 和 Project 中启用标签式编辑和阅读
  • 在同一个窗口的新标签页中打开并创建多个文档,而非在新窗口中。
  • 将您的工作效率提升 50%,每天减少数百次鼠标点击!

所有 Kutools 插件,一个安装程序

Kutools for Office 套件捆绑了适用于 Excel、Word、Outlook 和 PowerPoint 的插件以及 Office Tab Pro,非常适合需要跨多个 Office 应用高效协作的团队。

ExcelWordOutlookTabsPowerPoint
  • 一体化套件— Excel、Word、Outlook 和 PowerPoint 插件 + Office Tab Pro
  • 一个安装程序,一个许可证— 几分钟内完成设置(支持 MSI)
  • 协同效果更佳— 在多个 Office 应用中实现高效协同
  • 30 天全功能试用— 无需注册,无需信用卡
  • 超值之选— 比单独购买插件更省钱