【问题标题】:Excel sorting unexpected resultsExcel 排序意外结果
【发布时间】:2017-05-03 23:00:59
【问题描述】:

我需要在 Excel 排序等 Web 应用程序表中实现自定义排序。我偶然发现了以下文章:https://support.microsoft.com/en-us/help/322067/how-to-correctly-sort-alphanumeric-data-in-excel

据此,它按字符从左到右对字母数字值进行排序。但是我遇到了一些具有以下值的奇怪结果:a,A,abc,ABC。 Excel 像这样对它们进行排序(从 A 到 Z 排序):

ABC
a
A
abc

那么,为什么上面的“A”出现在下面的“a”之后,而上面的“ABC”出现在下面的“abc”之前?

这是从 Z 到 A 的排序:

ABC
abc
a
A

如果重要的话,我有 Excel 2013。

【问题讨论】:

  • @pnuts 你有什么结果?
  • hm.. 看起来你是对的。我手动输入并获得正确的排序。但是当我选择它并单击(ZZ) 完全相反:'ABC'、'abc'、'A'、'a'。
  • 当我手动输入所有值时我无法重现它,但是当我从您的问题中复制它时 它确实 重现。我怀疑里面有一些不可见的 Unicode 字符。
  • @Taosique 我手动输入时也无法重现它。当您选择所有值并单击反向 (Z

标签: excel sorting


【解决方案1】:

不完全是一个解决方案,但我找到了问题的原因。当您按下A>ZZ>A 按钮时,Excel 通过猜测(我找不到逻辑)您的数据是否有标题行进行排序,所以ABC 成为标题行并且确实不参与排序。您可以通过打开高级排序对话框并查看标题复选框自己查看它。有时会设置,有时不取决于第一行中的值。

更新:我想我找到了逻辑。如果 没有小写字母,Excel 会将值视为标题行(也检查了西里尔字母):

ABC - header
abc - not header
Abc - not header
ABC$1# - header
ABc$1# - not header
БГД - header
Бгд - not header

【讨论】:

  • 如果在新打开的 Excel 上进行测试,是的,这是一个猜测,每个列都是单独的。否则,上次执行排序的设置将应用于任何列。
  • 还有一个“区分大小写”选项(排序和过滤->自定义排序->选项)。当我勾选它时,我会得到预期的结果。所以看起来默认排序是不区分大小写的。
猜你喜欢
  • 2013-04-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-06-10
  • 1970-01-01
  • 1970-01-01
  • 2021-01-16
  • 1970-01-01
相关资源
最近更新 更多