如何在 Excel 中将逗号更改为小数?

Posted

技术标签:

【中文标题】如何在 Excel 中将逗号更改为小数?【英文标题】:How can I change commas to decimals in Excel? 【发布时间】:2019-10-11 20:45:01 【问题描述】:

我目前正试图将一堆数字从格式(例如 200,103)转换为 200.103(在欧洲仪器上收集的数据,对美国软件的分析)。如果有帮助,我正在运行 Excel 15.32 版!

我尝试将我的数据转换为文本格式,然后查找并替换 , 为 .但这仅在某些时候有效。我的问题是 Excel 被小数点后四位错误。因此,35,1203 变为 351.203 而不是 35.1203。我不知道该怎么做,并希望得到任何建议。

【问题讨论】:

为了避免 X-Y 问题 (xyproblem.info),您的具体流程是什么?您的实际数据源是什么?是文本文件吗? CSV、XML、JSON,还有什么?您真的在 Excel 中获取数据吗?您实际上想要得到什么结果?不要在评论中回答,而是修改您的问题,以便包含这些详细信息。 将您的数据正确导入 Excel 以避免此问题。 【参考方案1】:

正如 Ron 所说,最好在进入 Excel 之前对其进行格式化。如果您将数字导出为 CSV 并在 PowerShell 中运行,它会执行您想要的操作。

$pathToCSV = "C:\Test\num.csv"

(Get-Content $pathToCSV) | ForEach-Object $_ -replace "(?<=\d),(?=\d+)", "." 
| Set-Content $pathToCSV

现在,当您将其导入 Excel 时,只需更改以您使用的任何数字格式显示的小数位即可。

【讨论】:

【参考方案2】:

我看到了这个问题的一些替代方案,您可以尝试一下。除了 Honza 的评论之外,也许我们需要更多关于您的实际流程的详细信息。

假设您的所有数据都可以轻松转换为 TEXT,而不是 NUMBERS,您似乎可以使用以下涉及 Text-to-columns 的解决方案。

文本到列在数据下 --> 文本到列)统一分隔数据中的所有逗号 使用 Delimited 选项,并且仅使用逗号“,”作为分隔符 完成转换后,您将在一列中的逗号的 LEFTRIGHT 中获得数字strong> 第二列中的逗号 注意:在连接之前,您必须在第二列计算出正确的舍入(例如,使用 ROUND 函数)。如果我对您的问题/数据有更多了解,我可以建议使用 ROUND 的逻辑 当您对第 2 列的舍入感到满意后,您可以将第 1 列和第 2 列连接(连接)第 3 列 最后,您可以创建第 4 列以对第 3 列中的连接数字使用 NUMBERVALUE,这会将文本字符串转换为可用数字。从那里,您可以将逗号、货币等数字格式应用于您的数据

【讨论】:

以上是关于如何在 Excel 中将逗号更改为小数?的主要内容,如果未能解决你的问题,请参考以下文章

为啥 VBA 会自动将十进制更改为逗号?

如何使用vba在excel2010中将保存类型从excel工作簿更改为excel 97-2003?

在python脚本中将excel文件更改为csv?

Mac Excel 2016 - 图表上的小数点而不是逗号

在 AppleScript 中将逗号分隔列表更改为分段列表

当全球化将逗号设置为小数分隔符时,如何在 OpenXML Excel 单元格中存储小数/双精度