我在 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
您可以进行三级排序来解决这个问题
- 按名称 {z 到 a}
- 按描述(单击自定义列表,然后输入总是、有时、通常)
- 然后按百分比(从小到大)
请参见下面的屏幕截图(来自 xl2010)
答案2
我看不到一步到位的方法,但请尝试以下方法......(它实际上并不像看起来那么复杂:只是很难简洁明了地解释!)
它基于这样的假设:初始数据中的行始终处于所需的相对顺序,即
- 总是
- 有时
- 通常
如果这是真的(而不是示例数据中的巧合),那么您可以创建第 4 列,用于排序,生成可以按所需顺序排序的数字。
方法总结
- 创建一个新列,其中包含从百分比值派生的数据,该列将在排序过程中保留每组 3 行所需的顺序
- 将此新列中的单元格从公式转换为值,以便在排序过程中不会更改值
- 对此新列上的数据进行排序(降序),以名称作为第二个排序键。
详细步骤
如果以上信息还不够:
- 创建第四列:我们称之为
Ordering
- D1:
Ordering
- D1:
- 给出以下公式的前三行:
- D2:(
=C2+2
即示例中的 54) - D3:(
=C2+1
即 53) - D4:(
=C2
即 52)
- D2:(
选择这 3 个单元格,然后向下填充到数据的底部,例如,接下来的 3 行将包含:
- D5:(
=C5+2
即示例中的 62) - D6:(
=C5+1
即 61) - D7:(
=C5
即 60)
注 1:Excel 的“向下填充”机制能够根据需要填充公式,这令我印象深刻/惊讶,至少在 Windows 上的 Excel 2010 中是如此。请自行检查结果值,以确保 Mac 的行为相同。
注意 2:此时不要急于进行排序,因为排序过程中相对引用会被破坏,最终导致
#REF!
D2 中出现- D5:(
- 复制排序列到剪贴板
- 将排序列粘贴为值即用他们计算的值替换上述公式
- 现在进行自定义排序
- 关于降序排列
- 按名称升序
利用您的原始数据,这将给出所需的结果。
按名称排序适用于 2 组 3 行具有相同百分比值的情况。否则,两个不同名称的结果可能会混淆(如果 Excel 的排序不保留初始相对顺序)
答案3
选择列并在上下文菜单中找到排序菜单并使用自定义排序
如果您希望对它们进行分组,请创建另一列,其中包含组的始终百分比(通过数据插入或公式)并对其进行主要排序