Excel 中的高级排序

Excel 中的高级排序

我在 Excel 中有一个以下格式的数据:

Description      Name            Percent
Always             A               52
Sometimes          A               23
Usually            A               25      
Always             B               60
Sometimes          B               30
Usually            B               15 
Always             C               75
Sometimes          C               11
Usually            C               14

我想要对这些数据进行排序:

对于每个名称,描述的顺序必须相同(例如:总是,后面跟着有时,后面跟着通常),但对于三个名称 A、B 和 C,我想按总是百分比从小到大进行排序。例如:我希望上述示例在排序后看起来像这样:

Description      Name            Percent
Always             C               75
Sometimes          C               11
Usually            C               14      
Always             B               60
Sometimes          B               30
Usually            B               15 
Always             A               52
Sometimes          A               23
Usually            A               25

名称 C 的百分比始终最高,名称 A 的百分比始终最低。我希望我能够解释这一点。如果您能就此提供帮助,我将不胜感激。

答案1

您可以进行三级排序来解决这个问题

  1. 按名称 {z 到 a}
  2. 按描述(单击自定义列表,然后输入总是、有时、通常)
  3. 然后按百分比(从小到大)

请参见下面的屏幕截图(来自 xl2010) 已排序

答案2

我看不到一步到位的方法,但请尝试以下方法......(它实际上并不像看起来那么复杂:只是很难简洁明了地解释!)

它基于这样的假设:初始数据中的行始终处于所需的相对顺序,即

  1. 总是
  2. 有时
  3. 通常

如果这是真的(而不是示例数据中的巧合),那么您可以创建第 4 列,用于排序,生成可以按所需顺序排序的数字。

方法总结

  1. 创建一个新列,其中包含从百分比值派生的数据,该列将在排序过程中保留每组 3 行所需的顺序
  2. 将此新列中的单元格从公式转换为值,以便在排序过程中不会更改值
  3. 对此新列上的数据进行排序(降序),以名称作为第二个排序键。

详细步骤

如果以上信息还不够:

  1. 创建第四列:我们称之为Ordering
    • D1:Ordering
  2. 给出以下公式的前三行
    • D2:(=C2+2即示例中的 54)
    • D3:(=C2+1即 53)
    • D4:(=C2 即 52)
  3. 选择这 3 个单元格,然后向下填充到数据的底部,例如,接下来的 3 行将包含:

    • D5:(=C5+2即示例中的 62)
    • D6:(=C5+1即 61)
    • D7:(=C5 即 60)

    注 1:Excel 的“向下填充”机制能够根据需要填充公式,这令我印象深刻/惊讶,至少在 Windows 上的 Excel 2010 中是如此。请自行检查结果值,以确保 Mac 的行为相同。

    注意 2:此时不要急于进行排序,因为排序过程中相对引用会被破坏,最终导致#REF!D2 中出现

  4. 复制排序列到剪贴板
  5. 将排序列粘贴为值即用他们计算的值替换上述公式
  6. 现在进行自定义排序
    1. 关于降序排列
    2. 按名称升序

利用您的原始数据,这将给出所需的结果。

按名称排序适用于 2 组 3 行具有相同百分比值的情况。否则,两个不同名称的结果可能会混淆(如果 Excel 的排序不保留初始相对顺序)

答案3

选择列并在上下文菜单中找到排序菜单并使用自定义排序

如果您希望对它们进行分组,请创建另一列,其中包含组的始终百分比(通过数据插入或公式)并对其进行主要排序

相关内容