Excel 无法将文本转换为数字

Excel 无法将文本转换为数字,excel,Excel,我得到一个excel导入数据库,它是从Access数据库导出的。在excel中有一列type_class,在一个excel中很好(sheet1),但在另一个excel中,我移动到sheet2以生成VLOOKUP函数,我无法从第一眼看出它是文本列还是数字列。左上角的绿色部分并没有显示在所有单元格上。但是,使用ISTEXT函数会导致text。下面是没有任何更改或格式的原始列,以及ISTEXT结果。 当我使用VLOOKUB函数中的列将名称仅传输到第一页时(1010、1101、1102,…),因此在左上

我得到一个excel导入数据库,它是从Access数据库导出的。在excel中有一列
type_class
,在一个excel中很好(sheet1),但在另一个excel中,我移动到sheet2以生成
VLOOKUP
函数,我无法从第一眼看出它是文本列还是数字列。左上角的绿色部分并没有显示在所有单元格上。但是,使用
ISTEXT
函数会导致
text
。下面是没有任何更改或格式的原始列,以及
ISTEXT
结果。

当我使用
VLOOKUB
函数中的列将名称仅传输到第一页时(1010、1101、1102,…),因此在左上角有绿色标记的单元格。

我可以使用
文本到列
、单元格格式和任何其他方式轻松格式化sheet1中的键。
但我无法更改sheet2中的列,我尝试了:

  • 文本到列
  • 单元格格式
  • 值(文本)、清洁(文本)、修剪(文本)、修剪(清洁(文本))、清洁(替换())
  • 乘以1
但只有带绿色标记的单元格变为数字,其余单元格保持不变。我浏览了互联网,但也没有找到解决方案。

编辑: 我上传了需要在驱动器上测试该案例的内容。您可以找到它

帮助欣赏

在没有示例的情况下,我使用value()来转换excel作为文本的内容,如下所示:

=value(left(“10kg”,2))
或者,以下方法也适用:

=left(“10kg”,2)*1
请注意,这些双引号应该是直截了当的-对不起,智能手机并不总是智能的


如果前导空格或尾随空格是一个问题,那么trim()是一个解决方案。

对于无法转换为文本的数字字符串,从注释中可以看出,该字符串中有额外的字符不能通过
trim
CLEAN
删除

  • 确定这些角色是什么
    • 假设“不可转换”数字字符串位于
      A1
    • 输入以下公式
      • B1:=MID($A$1,行($1:1),1)
        并填写
      • C1:=UNICODE(B1)
        并填写
    • 由此,您可以确定要在
      替换
      函数中使用的字符
例如:

从上面我们可以看到,我们需要去除的字符代码是
160

因此,我们使用:

=SUBSTITUTE(A1,CHAR(160),"")
或者,将其一步转换为数字:

=--SUBSTITUTE(A1,CHAR(160),"")

注意如果字符代码大于255,请在
替换
函数中使用
UNICHAR
而不是
CHAR

也许单元格中有一些非打印字符无法将文本转换为数字。@RonRosenfeld,我尝试了
CLEAN()
TRIM(CLEAN)
CLEAN(替换)
。没有一个起作用。首先,你需要弄清楚里面有什么。这些函数不能用于许多非打印字符。做一个简单的
=LEN(cell\u ref)
,看看这个假设是否正确。然后使用
MID
找出字符是什么。@RonRosenfeld,对于无法将文本转换为数字的单元格,结果是6,对于其他单元格,结果是6
MID
产生相同的精确列,
MID(0810)
结果
0810
。我已经编辑了我的答案,并在谷歌硬盘中添加了一个excel示例。非常感谢您的帮助我没有看到任何文件链接,但是看到了我的故障排除方法的答案。您的
LEN
公式结果证明您的不可转换数字字符串中有多余字符。工作起来很有魅力。某些单元格的字符代码为
8207
,而其他单元格的字符代码为
8206
。谢谢你的支持help@adelsameer很乐意帮忙。这些代码非常有趣。它们用于精确定义是从左到右渲染节点,还是从右到左渲染节点。因此,也许在某个时候,数字被嵌入到从右到左呈现的短语中,并且必须从左到右呈现。