如何将电子表格中所有单元格的文本转换为数字?

如何将电子表格中所有单元格的文本转换为数字?

我有一个电子表格,其中包含以文本形式输入的值,'这些值前面带有撇号。我尝试了搜索和替换功能,但出于某种原因,它找不到那些前面带有撇号的单元格。我尝试将单元格格式更改为数字,但这并没有导致这些文本变成数字。

因为这样的单元格很多,所以单独删除每个单元格中的起始撇号会花费很长时间。有没有更快的方法可以做到这一点?

答案1

我发现了这些事情

  1. 使用 LibreOffice 版本3.6.5而不是 4.0。
    最新的 LibreOffice 4.0(见变更日志)将其 RegEx 引擎更改为ICU regexp engine。因此,我无法将 LibreOffice 3.6.5 解决方案用于 LibreOffice 4.0

    (自 2013 年给出这个答案以来,情况可能已经发生了变化。因此,请先尝试最新版本)

  2. 禁用Tools » AutoCorrect Options » Localized options » Single quotes
    此选项会将您的单引号替换为外观相似的撇号。不幸的是,这不会改变您现有的单元格

    屏幕截图展示了启用和不启用此选项的视觉差异 在此处输入图片描述

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

    CTRL+ H» 单击More options» 检查Regular expressions
    搜索^.*$并替换为&

    它会搜索单元格内的所有内容,并用现有单元格内容替换单元格内容 - 但由于您禁用了“自动更正”选项,因此没有前导单引号。看看参考如果你想阅读更多关于正则表达式的内容

  4. 要用前导撇号替换单元格:(U+2018)或(U+2019)或ʼ(U+02BC):
    使用哪个字符取决于您居住的地方以及使用的本地设置

    CTRL+ H» 单击More options» 检查Regular expressions
    搜索^[‘’ʼ]并替换为没有什么


选择

将整个电子表格内容复制并粘贴到 Notepad 或 Notepad++,执行搜索和替换,然后将内容复制回来。

使用的资源

答案2

在 Excel(至少 2007 版)中,一种可行的解决方案是转到“数据”选项卡并选择“文本分列”(从“数据工具”组中)。默认设置似乎很好,因此单击“下一步”、“下一步”和“完成”。

答案3

nixda 的答案对我有用。但我用另一种方法解决了我的问题。对于使用任何 LibreOffice 版本的人来说,这可能都有效。

  1. 打开电子表格
  2. 在数据表(例如 A1-B10)右侧创建一个工作区(例如 C1-D10)
  3. 将数据表乘以 1(例如C1 = A1*1,拖动以填充单元格 C1-D10)
  4. 将工作区中的值复制回数据表
    (编辑 -> 选择性粘贴 -> 选择 -> 数字)

答案4

Nixda 的替代品帮我解决了这个问题。我有一列数字,其中的文本和数字单元格都混在一起了,当我将它们全部转换为数字时,出现了妨碍正确排序的撇号。我做了以下事情:

  1. 将整个标签复制到另一个空白标签(以确保安全)
  2. 清除数字列中的所有格式
  3. 选择并复制数字列中有值的单元格范围
  4. 将剪贴板(列中的数字)粘贴到 EditPlus(我的文本编辑器)中
  5. 在 EditPlus 中选择并将该数字列表复制到剪贴板
  6. 返回我正在使用的 Calc 选项卡并清除数字列中的所有内容
  7. 选择该列的顶部单元格并粘贴剪贴板的内容——全部是数字,没有撇号。

简而言之,正如 Nixda 所说,将列复制到记事本或其他纯文本编辑器中,然后复制该数据并粘贴回去。现在我要做的就是确保没有新数据被错误格式化。

相关内容