在Microsoft Excel中将文本转换为数字的7种方法
这篇文章将向您展示在 Microsoft Excel 中将文本转换为数字的所有方法。
Excel 中经常出现的一个问题是将数字输入或格式化为文本值。
当尝试排除为什么像 SUM 这样的公式没有给出正确答案时,这可能会引起很多麻烦。
即使数据看起来像数字,但它实际上可以是文本值,并且会被任何数值计算(例如总和)忽略。
在这篇文章中,我将向您展示如何识别以文本值存储的数字,以及将文本转换为正确数字值的 7 种方法。
推荐:YITH WooCommerce Frequently Bought Together
如何识别以文本形式输入的数字
如何判断您的数字数据是否已作为文本输入?
有很多简单的方法可以辨别!
左对齐

您可能能够判断是否有文本值而不是数值的第一种方法是数据在单元格中的对齐方式。
默认情况下,文本左对齐,数字右对齐。
除非对齐格式已从默认格式更改,否则这将是发现已格式化为文本的数字的简单方法。
绿色三角形错误检查

如果您没有意识到自己输入的数字是文本值,则可能会导致一些严重错误。这就是 Excel 内置错误检查器标记它的原因。
任何标记有错误的单元格都会在单元格左侧显示一个绿色的小三角形,以直观地指示错误。

当您选择这样的单元格时,将出现一个小的警告图标。

单击此按钮后,系统会显示错误内容。在本例中,您可以看到错误是“ Number Stored as Text”。

您可以完全关闭此错误检查,或自定义标记的错误。
转到“文件”选项卡,然后选择底部的“选项” 。这将打开Excel 选项菜单。
在Excel 选项菜单的公式部分➜错误检查。
取消选中“启用背景错误检查”选项以禁用此功能。您还可以在此处自定义用于指示错误的颜色。
应用的文本格式
数字以文本形式输入的一种情况是单元格格式为文本。这会导致值以文本值形式输入,无论它们是否为数字。

有一种快速的方法可以确定单元格是否已应用文本格式。
选择单元格并转到“主页”选项卡。您将能够在功能区“数字”部分的下拉菜单中看到“文本”是否是选定的格式。
推荐:问答WordPress主题Ask Me
前置撇号

将数字输入为文本的另一种方式是使用前面的撇号。
当您在单元格中输入撇号'作为第一个字符时,Excel 会将撇号之后的任何内容视为文本值。
这意味着如果您在公式栏中看到前导撇号,则知道数据是文本值。
使用 ISTEXT 函数
Excel 有一个函数可以用来测试某个值是否是文本值。
ISTEXT ( input )
- 输入是您想要测试是否为文本的值、单元格或范围。
如果值为文本,则ISTEXT函数将返回TRUE ,否则返回 FALSE。

= ISTEXT ( B3 )
这里您可以看到ISTEXT函数用于确定单元格是否包含文本。当找到文本值时,该函数返回TRUE 。
ISNUMBER ( input )
- 输入是您想要测试它是否是数字的值、单元格或范围。
类似地,您可以使用ISNUMBER函数测试某个值是否为数字。该函数接受单个输入,当该值为数字时返回TRUE ,否则返回 FALSE 。

这里使用ISNUMBER函数测试了相同的数据。如果未找到数字,则该函数返回FALSE 。
状态栏仅显示计数

快速测试单元格区域以查看它们是否全部是文本的另一种方法是使用状态栏。
当您选择一系列数值时,Excel 将在状态栏中显示一些基本统计数据,如总和、最小值、最大值和平均值。
如果它们都是以文本值输入的数字,则不会计算这些基本统计数据。相反,您只会在状态栏中看到单元格的数量。
注意:如果其中一个单元格是数值,您将在状态栏中看到完整的统计信息。
将文本转换为数字并进行错误检查
您已经看到,可以使用错误检查来发现作为文本输入的数字。
错误检查还允许您将这些文本值转换为正确的数字。

单击“错误”图标并从选项中选择“转换为数字” 。然后,Excel 会将选定范围内的每个单元格转换为数字。
注意:当您需要转换大量单元格时,此选项可能会非常慢。
使用“文本转列”将文本转换为数字
通常,文本分列用于将数据拆分为多列。但使用此技巧,您可以使用它将文本格式转换为通用格式。
文本到列将允许您选择分隔符来拆分数据。如果您取消选择此选项并且不选择任何分隔符,则不会拆分数据。
然后您可以选择如何格式化结果,在这里您可以选择输出的一般格式。
按照以下步骤使用文本转列功能将文本转换为数字。

- 选择包含要转换为数字的文本的单元格。
- 转到“数据”选项卡。
- 单击“数据工具”选项卡中的“文本到列”命令。

- 在原始数据类型选项中选择“分隔”。
- 按下一步按钮。

- 在“将文本转换为列”向导的第 2 步中再次按“下一步”按钮。您可以保留默认选项。

- 从列数据格式选项中选择常规。
- 如果您想将转换后的值放在新位置,请选择目标。否则,您可以保留默认值(即活动单元格),这将用数值替换文本。
- 按“完成”按钮。
这会将您的文本值转换为数值。
文本到列命令通常用于将逗号分隔或其他分隔符分隔的数据拆分为多列。
任何分隔数据都将是文本数据,因此当 Excel 将数据拆分为多列时,它还会将数字数据转换为数字以增加便利性。
即使没有什么可分割的,也是如此!
因此,可以使用“文本到列”向导将数字文本值转换为数字。
推荐:如何在PowerPoint中创建设计预设或主题
使用乘以 1 将文本转换为数字
即使值以文本形式存储,您仍然可以使用它们执行某些数值计算,并且这些计算的结果也将是数值。
您可以使用它将文本乘以 1 来转换为数字。由于您乘以 1,所以它不会改变数字但会转换它们。

= B3 * 1
您可以在相邻的单元格中使用上述公式,然后将其复制并粘贴下来以转换整列。
如果您想删除之后的公式,您可以将其复制并粘贴为值。
使用选择性粘贴功能将文本转换为数字
乘以 1 是将文本转换为数值的一个很好的技巧,但您可能不想为此使用公式。
好消息是,有一种简单的方法可以将文本乘以 1,而无需使用公式。
这意味着您可以就地转换文本,而不需要在额外的步骤中复制和粘贴公式作为值。
您可以使用选择性粘贴乘法来转换文本值。按照以下步骤使用选择性粘贴乘以 1。

- 在工作表的其他单元格中输入1。1甚至不需要是数字值,可以是文本值。
- 使用键盘上的+复制包含1 的单元格或右键单击并选择复制。CtrlC
- 选择要转换的文本值的单元格。

- 按下键盘上的Ctrl++或右键点击并选择选择性粘贴。这样会打开选择性粘贴菜单。AltV
- 在粘贴选项下选择值,然后在操作选项下选择乘法。
- 按下“OK”按钮。
这会将所有值乘以 1,即复制单元格中的值。因此,文本会转换为值,但由于您乘以 1,因此数字不会改变。
使用 VALUE 函数将文本转换为数字
实际上有一个专用函数可用于将文本转换为数值。
VALUE 函数采用文本值并将文本值以数字形式返回。
= VALUE ( text )
- 文本是您想要转换为数值的文本值。
如果文本包含任何非数字字符,则 VALUE 函数将返回 #VALUE !错误。它不会从文本中提取数字,它只能将以文本形式输入的数字转换为数字。

= VALUE ( B3 )
您可以使用上述公式将单元格 B3 中的文本转换为数字,然后复制并粘贴公式来转换整个列。
使用 Power Query 将文本转换为数字
Power Query 是一款出色的工具,可用于进行任何类型的数据转换。它当然也可用于将文本转换为数字。
Power Query 是强类型的。这意味着使用不兼容数据类型的计算将导致错误。因此,您无法将文本值乘以 1 以将其转换为数字。
但是 Power Query 确实提供了一种转换数据类型的简单方法,包括将文本转换为数字。
将数据导入 Power Query后,请按照以下步骤操作。

单击要转换的值的列标题左侧的数据类型图标。
Power Query 编辑器中的每一列都有一个数据类型图标,显示该列的当前数据类型。如果尚未为该列分配数据类型,则显示的图标将为 ABC123。
Power Query 中有几种可用的数字数据类型,选择哪一种取决于您需要的小数精度级别。
在这种情况下,您可以从菜单中选择整数选项。

注意到列中的值现在右对齐,并且数据类型图标已更改吗?这些是视觉指示器,表明数据类型现在是整数而不是文本。
= Table.TransformColumnTypes(Source,{{"Text", Int64.Type}})
您将看到新的“更改类型”步骤已应用于查询,并且它将使用上述 M 代码公式。
然后,您可以按“主页”选项卡中的“关闭并加载”按钮来保存结果并将数据加载到 Excel 中。
您甚至可能不需要将此数据类型转换步骤应用于查询。当您首次将数据导入 Power Query 时,它通常会猜测数据类型并为您应用转换!
使用 Power Pivot 将文本转换为数字
如果您想在将数据从文本转换为数字后对其进行分析或汇总,那么您可能需要在 Power Pivot 中进行转换。
Power Pivot 是一个插件,允许您使用数据透视表有效地分析数据模型中的数百万行。
使用 Power Pivot,您可以使用 DAX 公式语言构建行级计算,以在数据集中创建新列。然后,您可以在连接到数据模型的数据透视表中访问这些新列。
在这种情况下,您可以用来将文本转换为数字的 DAX 公式与网格中的公式完全相同。
按照 Power Pivot 插件中的以下步骤创建一个将文本转换为数字的新计算列。

选择“添加列”标题下的任意单元格。
=VALUE(TextNumbers[Text])
插入上述公式。TextNumbers 是 Power Pivot 中数据表的名称,Text 是要转换的列的名称。
双击列标题可以更改名称。
按“保存”图标并关闭 Power Pivot 插件。

现在您可以从数据模型创建一个数据透视表,并且这个新列将可以像任何其他字段一样在数据透视表内使用。
- 转到“插入”选项卡。
- 单击数据透视表按钮。
- 在可用选项中选择“从数据模型” 。

计算列将出现在数据透视表字段列表中,您可以像使用任何其他数字字段一样使用它。
结论
有很多原因可能导致您的数据包含格式化为文本的数字。
如果您想在计算中自由使用这些值,则需要将它们转换为数字。
值得庆幸的是,有很多简单的选项可以将文本转换为数字,例如错误检查、选择性粘贴、基本乘法和VALUE函数。这些都是在网格内转换文本的简单方法。
如果您使用 Power Query 或 Power Pivot 导入数据,则可以在每个工具中执行转换。两者都有将文本转换为数字的方法。
您是否使用过这些方法将文本值更改为数字?您知道执行此操作的其他有趣方法吗?请在下面的评论中告诉我!