如何在excel数据透视表中创建计算列?

时间:2017-05-19 05:38:52

标签: excel pivot-table excel-pivot

我的Excel工作表中有3列 - ID,版本,材料编号

代表前 -

enter image description here

我希望数据透视表就像 -

enter image description here

如何创建第三个计算列,因为它涉及两个聚合函数来创建它。 我正在寻找最大版本的计数,所以我也需要MAX功能,不计算唯一值。

1 个答案:

答案 0 :(得分:1)

考虑基于工作表函数的解决方案。

假设该表位于class CustCompare implements Comparator<ArrayList<Integer>> { @Override public int compare(ArrayList<Integer> a, ArrayList<Integer> b) { if (Objects.equals(a.get(0), b.get(0))) { if (!Objects.equals(a.get(1), b.get(1)) || !Objects.equals(a.get(2), b.get(2)) || !Objects.equals(a.get(3), b.get(3))) { b.set(1, a.get(1)); b.set(2, a.get(2)); b.set(3, a.get(3)); } return 0; } else { return (a.get(0) - b.get(1)); } } } , 输入一个数组公式,该公式计算唯一ID

B5:D14

进入=SUM(N($B$5:$B$14<>$B$4:$B$13)) ,输入

G2
COUNT($B$5:$B$14)-G2 中的

输入数组公式( 输入 Ctrl + Shift + 输入 而不只是 Enter ), 它在顶部收集唯一ID并用空白填充其余输出行:

H2

=IFERROR(INDEX($B$1:$B$14,SMALL(N($B$5:$B$14<>$B$4:$B$13)*ROW($B$5:$B$14),ROW(B5)-ROW($B$4)+$H$2))*N(SMALL(N($B$5:$B$14<>$B$4:$B$13)*ROW($B$5:$B$14),ROW(B5)-ROW($B$4)+$H$2)>0),"") 中,另一个数组公式

G5
<{1>}中的

和另外一个数组公式

=IF(LEN(G5)>0,MAX(N($B$5:$B$14=G5)*$C$5:$C$14),"")

H5中,选择范围=IF(LEN(G5)>0,SUM(($B$5:$B$14=G5)*($C$5:$C$14=H5)),"") 并将其拖放/复制。

enter image description here

相关问题