如何将文本转换为数字?

我有一个Excel报告,其中包含几列文本和几列数字作为文本存储。

有没有一种简单的方法来将那些以文本forms存储的数字转换为数字,而不会影响实际的文本数据?

我发现最简单和最快捷的方式将“存储为文本的数字”转换为数字

  1. select任何空白单元格
  2. 复制该单元格(Ctrl + C)
  3. select包含要转换的数据的范围(如果范围也包含非数值数据,那么也可以)
  4. 使用“select性粘贴”操作“添加”(我猜“减法”也可以)

除了速度快之外,这具有就地转换的优点。

在“经典”版本的Excel(2003及更早版本)的“编辑”菜单中,或者在“function区”版本的Excel(2007+)的“主页”选项卡的“剪贴板”部分,可以看到“select性粘贴”。

如果您只想将该文本作为不同单元格中的数字,请使用VALUE函数。

另一个解决方法是添加零来强制进行types转换:如果单元格A1包含'5',但ISNUMBER(A1)返回FALSE,如果A1可以大小写,则ISNUMBER(A1 + 0)将返回TRUE。

我不确定我是否理解你的困境,但是对你的直接问题至less有两个解决scheme:

  1. 将需要为数字的单元格格式化为“数字”而不是文本。 您可以突出显示您想要的单元格 – >右键单击 – >格式化为数字。 您可以从那里设置小数和特定的格式。

  2. 创build一个新的列,将您的文本/数字列乘以1,并将格式设置为这个新列作为数字。

就个人而言,如果只有几个数字,我只要按F2在每个单元格上,然后按回车,没有任何改变。 这让Excel认为你已经编辑了这个单元格,并把它变成了一个数字。

无法使这些解决scheme正确使用alpha和numeric的混合列,其中数字是从网页复制的文本。 某个贡献者(D. Mabutt)在About.com上发布了这个VBA代码

  Sub Enter_Values() For Each xCell In Selection xCell.Value = CDec(xCell.Value) Next xCell End Sub 

这段代码会在alpha单元格上抛出一个错误,所以应该加上:

 Sub Enter_Values() For Each xCell In Selection If IsNumeric(xCell) = True Then xCell.Value = CDec(xCell.Value) Else End If Next xCell End Sub 

我在这里find了解决scheme。

我每周运行一次报告,要求复制和粘贴从系统导出的约7000行数据。 最近做了一些修改,以便将这些数字作为文本存储起来。 数据包括实际文本条目的select以及以文本forms存储的其余编号。 这些数据被复制并粘贴到一个主模板中,然后再input其他的工作表/报告,但是我需要将这些数字存储为数字。 由于数据量巨大,而且我不是唯一执行此任务的人(而其他一些人不擅长Excel),所以我需要尝试自动执行此过程。 我尝试了= A1 * 1公式,它适用于数字,但文本我有一个#VALUE! 错误。 经过多次的调整,我想出了下面的公式,它完美的工作!

IF(AND(A1 =“No”),“否”,A1 * 1)))

其他答案没有帮助我,但我发现,至less在Excel 2010中(我猜这在其他版本中会类似),您可以在受影响的单元格左上angular使用绿色小三angular形选中它们。

但是,它不会告诉你的是,要使用多个单元格, 必须使用包含绿色三angular形的单元格开始select 。 最后一个单元格可以是任何单元格(最后一个单元格可以是任何东西)。 如果您从非绿色单元格开始,则黄色感叹号将永远不会显示。

我在一个空的工作表中创build了一个简单的表格,其中每个单元格都通过格式 > 格式单元格转换为文本。 然后input下面的值(我在图中用^标记了包含绿色三angular形的行)。

  | A | B | -------------- 1 | abc | | 2^| 1 | | 3^| 2 | | 4^| 3 | | 5^| 4 | | 6^| 5,6 | | 7 | 7.8 | | 8^| 9 | | 9 | xyz | | -------------- 

现在,您必须在A2或A8中开始您的select,然后将所选内容拖到其他单元格中以使其工作。 从A9或A1开始不起作用。 从中间开始工作,但这样你就不能一次select所有单元格。

单元格的识别可能取决于您的语言环境 – 对于使用点而不是逗号的国家,您的结果可能会有所不同(单元格A6与A7)。