我在Excel电子表格上贴了一些数字,想用它做一些计算。问题是Excel没有识别数字。我已经尝试了几种方法将它们转换为数字,但它们都不起作用:粘贴/特殊乘以1;将每个单元格格式化为数字/科学数字格式。并且在每个单元格的右上角也没有错误消息,就像我在互联网上读到的那样,表明有一个数字写为文本。如果我重新键入每个数字,Excel会识别它。
为了确保问题确实是这些数字被Excel理解为文本,我尝试了函数ISNUMBER(),返回FALSE和返回true的ISTEXT()。
我想知道如何在不必键入每个单元格的情况下解决该问题。
聚苯乙烯。数字采用科学数字格式,即1,085859E + 001
答案 0 :(得分:1)
我遇到了同样的问题,直到我意识到小数点分隔符在默认设置中设置为(,)而不是(。)。一旦我改变了,一切都很好。
答案 1 :(得分:1)
由于该列是文本,因此单元格的格式设置为文本。 您使用“值”将文本转换为数字,以便公式起作用
A2 = 123 A3 = 123理查德 式 = isnumber(A2)结果为假 采用 = isnumber(value(A2))结果为True
答案 2 :(得分:0)
如果你的"数字"正在检测为文本,您可以使用VALUE()
确保Excel了解它实际上是一个数字。
A1: `1.23E+10 (this is a string)
B1: =VALUE(A1)
=12300000000
C1: 1.23E+10 (this is a number)
D1: =IF(B1==C1,"It worked", "Uh Oh")
=It Worked (for me anyway)
我不确定你的科学数字中的逗号会做什么,如果不需要,可能希望让函数替换它们。
答案 3 :(得分:0)
见Kenneth Hobs'在这里回答:http://www.vbaexpress.com/forum/showthread.php?42119-Solved-Convert-exponential-format-to-a-number
打开Excel文件,按Alt + f11打开VBA屏幕, 转到插入>模块,复制和粘贴Kenneth的代码:
Sub Expo()
Dim cell As Range, s() As String, lng As Long, n As Integer
For Each cell In Selection
With cell
If Not VarType(.Value2) = vbString Then GoTo NextCell
s() = Split(cell.Value2, "E")
.Value2 = s(0) * 1 * (1 * 10 ^ s(1)) 'ePart(s(1))
.NumberFormat = "General"
.EntireColumn.AutoFit
End With
NextCell:
Next cell
End Sub
您现在可以将其作为宏运行以转换所选单元格。或者,如果您希望它作为函数复制此代码:
Function Expo(cell As Range)
Dim s() As String
With cell
If VarType(.Value2) = vbString Then
s() = Split(.Value2, "E")
Expo = s(0) * 1 * (1 * 10 ^ s(1)) 'ePart(s(1))
End If
End With
End Function
这样你可以在excel中使用它作为普通函数,例如= Expo(A1)
正如我在上面的评论中所提到的,当原始数字转换为科学记数法时,您已经失去了一定程度的准确性。最好的解决方案是让原始程序在文本文件中写入正确的数字。
答案 4 :(得分:0)
打开一个新的word文档,然后尝试首先在word中粘贴web内容,从word文档中复制此内容并将excel中的特殊内容粘贴为文本。这个简单的解决方案对我有用
答案 5 :(得分:0)
打开一个新的空白Excel,然后转到 Data > From Text
,这样您就可以导入文本并指定要转换为的格式。在Text Import Wizard
页面上,选择Delimited
或Fixed width
(我不确定原始文本文件的外观,但通常应该是Delimited
。在下一页上,选择一个Delimiter
或在其他人中输入一个。在第3步,您应该看到下面列出的数据和左上角的数据格式。选择 General
作为那些列你认为不应该是文本。这应该可以解决你的问题。
答案 6 :(得分:0)
我的情况很顽固,没有回应Paste Special或CLEAN()。最后通过复制Excel数据的违规列并粘贴到新的Notepad ++ doc中解决。这揭示了一个领先的“?”在所有坏数字(显然是一些非打印字符)。二手搜索>替换以找到所有“?”并且什么也没有替换。编辑>选择全部,复制到新的Excel列,然后转发!
答案 7 :(得分:0)
可能有隐藏的字符。尾部/前导空格可能不可见,因此被错误地忽略了。如果存在带有数字值的尾随/前导空格字符,则excel会将其视为文本。
将有问题的单元格内容复制到MS-Word [(选择有问题的单元格并将它们复制到MS-Word)]并检查任何隐藏的字符,使用“查找” /“替换”功能删除隐藏的字符。
答案 8 :(得分:0)
我在将PPT的数字(例如($ 3,000))粘贴到Excel时遇到了问题。尝试了多种不同的方法来使文本识别,包括查找替换的括号,逗号,$符号为空白以及尝试格式化以便excel可以运行公式。唯一可行的选择是先粘贴到Word,然后将值粘贴到excel,这无需任何其他格式化步骤即可工作。令我惊讶的是,虽然我无法在excel中完成所有操作。也许还有另一种方式