我有一个看起来像的数据集:
Product Metrics C1 C2 C3
A1 Q1 20 30 10
Q2 213123 2312 32123
Q3 454 65 45
Q4 3 4 6
A2 Q1 10 5 1
Q2 123 13 23
Q3 454 65 45
Q4 3 4 6
A3 Q1 18 6 3
Q2 123 13 23
Q3 454 65 45
Q4 3 4 6
现在我想根据指标Q1对值进行排序 - 从最小到最大(与产品-A1,A2比较),然后最终数据集看起来像,
Product Metrics C1 C2 C3
A2 Q1 10 5 1
Q2 123 13 23
Q3 454 65 45
Q4 3 4 6
A3 Q1 18 6 3
Q2 123 13 23
Q3 454 65 45
Q4 3 4 6
A1 Q1 20 30 10
Q2 213123 2312 32123
Q3 454 65 45
Q4 3 4 6
希望这能给出清晰的画面。在此先感谢你们
答案 0 :(得分:0)
我可能会这样做的方法是转置你的列和行,以便你有Q1,Q2,Q3,Q4的列。
像这样:
Product Metrics Q1 Q2 Q3 Q4
A1 C1 20 213123 454 3
A1 C2 30 2312 65 4
A1 C3 10 32123 45 6
A2 C1 10 123 454 3
A2 C2 5 13 65 45
A2 C3 1 23 45 6
然后你可以使用数据> Sort&amp ;;过滤
答案 1 :(得分:0)
CBRF23已经指出了正确的方向,但我相信你必须更进一步,将每个产品相关的子阵列压扁成一行,如
A | B C D | E F G | H I J | K L M
---| Q1 --------| Q2 ------------ | Q3 ------- | Q4 -------
Pr | C1 C2 C3 | C1 C2 C3 | C1 C2 C3 | C1 C2 C3
A1 | 20 30 10 | 213123 2312 32123 | 454 65 45 | 3 4 6
A2 | 10 5 1 | 123 13 23 | 454 65 45 | 3 4 6
A3 | 18 6 3 | 123 13 23 | 454 65 45 | 3 4 6
(第一行只显示Excel列,第二行显示扁平的Q1,Q2,Q3和Q4部分,第三行显示每列的子标题)
现在您可以安全地按列B
排序。如果您希望按所有Q1指标的总和进行排序,则可以引入另一列N
作为B,C
和D
的总和,并将其用于排序。
<强>更新强>
要获得所需的输出格式,基本上有可能:
如果已知并修复了记录数,您可以在excel文件夹中设置一个“结果”页面,其中包含一个小“子表”列表。然后,每个子阵列的字段直接引用排序的主结果数组的一行中的“转置”字段。
如果结果数量是可变的,则必须使用合适的vba脚本构造/重建上述结果页面。 vba生成的页面当然也可以直接由排序的值组成,而不是引用排序的主数组中的值。