【问题标题】:LibreOffice Calc: How to convert unformatted text to numbers (or other format)LibreOffice Calc:如何将无格式文本转换为数字(或其他格式)
【发布时间】:2013-04-14 01:54:38
【问题描述】:

如何将未格式化的文本(例如 csv 或制表符分隔)粘贴到 LibreOffice Calc 中,然后将其格式化为数字(无需手动编辑每个单元格)。当我粘贴下面的文本时,它会在所有内容前面添加一个 ',所以如果我尝试将其转换为数字,它仍然是文本。

Text 0.01% 3% 5.1%
Asdf 0.2% 4% 6.0%

例如,如果我将特殊的内容粘贴为带有空格分隔符的无格式文本,然后将 0.01% 转换为数字(如果它符合我的要求,则会显示为 0.0001),现在它会在单元格中显示“0.01%”。

【问题讨论】:

  • 最新版本的 LibreOffice 仍然存在这个问题。尝试解决这是一个非常困难的问题。有人知道如何提交错误报告吗?

标签: libreoffice


【解决方案1】:

用前导单引号替换单元格:' (U+0027)

请按CTRL+H » Click More options » Check Regular expressions

搜索^.*$ 并替换为&

这有点像 RegEx 引擎黑客。它在单元格开始之前搜索所有内容并将其替换为现有的单元格内容 - 但没有单引号。如果您想了解更多信息,请查看back reference

【讨论】:

  • 非常有趣。我不知道您所说的“反向引用”是什么意思。你能解释一下这是如何工作的吗?它似乎不会弄乱我在单元格中放置 ' 的单元格(这很好,因为我只希望它弄乱自动生成的单元格)。
  • 我确实了解正则表达式,但我不明白该正则表达式如何与单引号不匹配。我在该页面上读到的任何内容似乎都无法解释单引号导致它不匹配的特殊之处。例如,如果我将 "s/^.*$/$0/g" 输入 sed,我希望能完全恢复我给它的内容。这一切都不应影响您的解决方案运行良好这一事实,我只是想了解为什么它有效。
  • @CrazyCasta 我认为前导单引号实际上并不是单元格值的一部分。尝试简单搜索 ',您将找不到匹配项。
【解决方案2】:

此过程在 LibreOffice 4.0.2 中进行了测试。粘贴为无格式文本,然后选择以下选项:

  • 选择英语作为语言,或使用句点作为小数分隔符的其他语言。
  • 选择“检测特殊号码”。

现在百分比将被粘贴为数字而不是文本,您可以使用格式选项以您喜欢的方式显示它们。

【讨论】:

  • 太棒了,谢谢,只要这 6 小时的计时器用完,您就获得了赏金。不敢相信我从来没有注意到:P
  • 好的,但是如何在电子表格中已经存在的数据上调用它;例如我有一列格式为“$3.5 mill.”的数据,Libreoffice 无法解释。如何让 calc 再次检查数字?
【解决方案3】:

我使用函数CNUM() 插入一列并引用文本值。然后复制特殊粘贴:只有数字。然后抑制旧列。

【讨论】:

  • 您可能需要编辑后半部分以使其英文清晰。
猜你喜欢
  • 1970-01-01
  • 2020-02-24
  • 2014-11-09
  • 1970-01-01
  • 1970-01-01
  • 2020-12-03
  • 1970-01-01
  • 2014-06-07
  • 1970-01-01
相关资源
最近更新 更多