使用 Open Office 3.3.0
Calc 将按照字母顺序对数字列表进行排序,但这并不是合理、合乎逻辑且理性的。
例如:Calc 认为 103、1000 等介于 1 和 2 之间。
如果我将单元格的格式更改为数字,则没有任何区别;它们仍然保持 1、100、1000、2、250、3 的顺序。
在 OO 论坛上已经发布了一种解决方法,即创建第二列并使用=value(A1)
,它计算原始列的数值,但我发现如果我使用第二列作为排序顺序对数据进行排序,它仍然按字母顺序排序。
我不知道这是怎么发生的。我认为数字和按数字排序对于名为 Calc 的程序来说很重要,而不是将数字视为字母。
更新:尽管我很钦佩 OO 开发出了一个相当不错的应用程序套件,但他们的支持却非常糟糕。每次我尝试登录提交错误时,都会收到 404 错误。如果我忘记了他们的支持论坛的密码,我只能在记住用户名和电子邮件的情况下才能找回密码。如果我忘记了用户名,那么游戏就结束了,因为我无法使用同一个电子邮件再次注册。/结束 sooky 咆哮。
答案1
OOo.calc 所应用的排序顺序取决于单元格的内容。如果单元格包含文本内容,calc 正确地应用了字母排序;如果内容是数字,排序依据的是数值。
如果内容似乎是数字但实际上是文本;如果您将内容从其他应用程序或网页复制并粘贴到计算表中,可能会发生这种情况。
针对这些情况有一个简单的解决方案:使用正则表达式执行搜索/替换。搜索
^.*$
并替换为
&
为了确保查找/替换表达式被解释为正则表达式,请单击“ More
”按钮并确保Regular expressions
选择了“ ”。
这实际上将每个单元格的内容替换为其自身,但删除了标记'
单元格内容为文本的撇号。结果,“文本”数字被转换为数值,从而允许 calc 根据数值进行排序。
因此,从这个内容开始(每个单元格包含一个字符串!)...
...对细胞进行排序将得到以下结果:
按照描述执行搜索/替换会将内容更改为数字......
...允许进行良好的数字排序: