从 SQL 导入后 Excel 无法识别数字单元格
Posted
技术标签:
【中文标题】从 SQL 导入后 Excel 无法识别数字单元格【英文标题】:Excel does not recognize number cell after import from SQL 【发布时间】:2017-01-17 12:47:36 【问题描述】:我有一个 SQL 表(准确地说是存储过程),它的值如下:
我在 Excel 中将此数据导入为:
Data -> From Other Sources -> From SQL -> ... 编辑连接的 SQL 语句以查看存储的 过程而不是视图/表格 -> 导入数据 -> 表格
这很好用。数据导入为:
问题是,我不能 SUM
或 Average
(或任何其他数学函数)处理这些值!他们有问题。当我将这样的单元格复制到另一张表中时,我看到了这个:
Excel 无法将该字段识别为数字。我自然尝试过 Cell -> Format -> Number/Accounting/Whatever... 没有成功。
任何想法
编辑:
为什么以下操作不起作用:
【问题讨论】:
如果存储过程返回一个文本字符串,Excel什么也做不了。发布存储过程或至少发布它返回的字段类型 它确实是一个文本,我无法更改它,因为我在那里有“行作为列”的方法,对它们中的任何一个都没有特殊处理。有没有办法强制 Excel 将给定列格式化为数字?更新了我的问题。 为什么还要复制数据?只需在公式中按名称引用表格,无需再在报告中手动执行任何操作。 Excel 现在包括 Power Query,它允许您转换加载的数据、拆分或合并列、应用格式等 @iamdave - 我只是复制它以尝试解决问题。问题的核心是 - 我不能pivot
围绕这些数据,因为我不能 SUM
例如,在这些记录上。
【参考方案1】:
似乎存储过程返回的是字符串字段而不是数字字段。您可以使用 Power Query 将其转换为数字,或 apply any number of transformations,例如加入其他来源、拆分列、格式化、旋转等。
Power Query 包含在 Excel 2016 中或作为 Excel 2013 的 free addin
【讨论】:
以上是关于从 SQL 导入后 Excel 无法识别数字单元格的主要内容,如果未能解决你的问题,请参考以下文章
通过 VBA 将查询从 Access 导入 Excel 并删除单个单元格