在Excel中,将数字格式化为字符串的公式?

Posted

技术标签:

【中文标题】在Excel中,将数字格式化为字符串的公式?【英文标题】:In Excel, formula to format numbers as strings? 【发布时间】:2020-02-13 10:55:33 【问题描述】:

我正在帮助一位同事清理一个庞大的 Excel 电子表格,其中一些列包含字符串和数字的混合。我想将数字转换为文本(将格式更改为 TEXT 并不能自行解决)。根据我一直在做的事情,我需要弹出绿色的小“错误”三角形。我不是很渴望,世界上其他任何人也不是很渴望单独双击每个单元格。有没有办法在每个单元格前面强制'?它需要使用 Excel 宏/函数,因为我的同事不是程序员,我不太愿意花时间编写脚本。

我尝试过=("'"&[CELL]),但它只是将文字' 放在单元格中,而不是对其进行格式化。谢谢。

【问题讨论】:

ablebits.com/office-addins-blog/2014/10/10/… 【参考方案1】:

此代码显示了绿色的小错误三角形。 它看起来与您提供的一小段代码非常相似,它只是在单元格值的前面添加了一个 ',所以不确定您的代码为什么没有这样做。注意 它将用公式的结果覆盖公式(前面是')。

Sub Test()

    Dim rCell As Range

    For Each rCell In ThisWorkbook.Worksheets("Sheet1").Range("A1:A5")
        rCell = "'" & rCell
    Next rCell

End Sub

编辑:

我给出了 VBA 代码,因为你的帖子说 “它需要使用 Excel 宏/函数”,但你的标签是 excel-formula,所以也许你的意思正好相反。

试试这个公式:=TEXT(A1,"0") 这不会添加三角形,但如果您将值复制并粘贴到原始数字上,则会出现三角形。

【讨论】:

是的,对不起。我不喜欢 MS office 行话。但公式就是我的意思。谢谢,我会试一试的。【参考方案2】:

这取决于究竟是什么让每个单元格被格式化为文本。由于您在评论中提到您实际上是在寻找公式,因此以下是将字符串转换为值的基本方法:

=VALUE(A1)

这不起作用的任何内容都可能在单元格中存在其他内容(即:标点符号、字母等),因此 Excel 无法自动识别您的意思。

【讨论】:

对不起...读错了。您正在尝试从数字到文本,所以@Darren 的公式解决了它。 (=TEXT(A1,"0"))

以上是关于在Excel中,将数字格式化为字符串的公式?的主要内容,如果未能解决你的问题,请参考以下文章

excel 怎么把时间转换成字符串

Excel - 在数字格式中使用公式/计算

怎么把日期变为数字格式

excel 里面如何在数字前面补 0?

如何在 Excel 中格式化多行数字单元格?

由于数字格式为文本,将 Excel 文件读取到 Python 失败