Excel - 重叠数据 - 数据透视

时间:2018-05-28 05:04:06

标签: excel-formula pivot-table powerpivot

是否可以为同一列中具有重叠值的数据创建表格? 我更喜欢一个数据透视表,在那里我可以切片数据而不是维恩图。

Output Picture

数据

 1. Red / Material 1
 2. Red / Material 2
 3. Red / Material 3
 4. Red / Material 4
 5. Red / Material 5
 6. Blue / Material 1
 7. Blue / Material 6
 8. Blue / Material 7
 9. Blue / Material 8
 10. Blue / Material 9
 11. Blue / Material 10
 12. Blue / Material 11
 13. Blue / Material 12
 14. Green / Material 1
 15. Green / Material 2
 16. Green / Material 6
 17. Green / Material 7
 18. Green / Material 8
 19. Green / Material 13
 20. Green / Material 14

1 个答案:

答案 0 :(得分:1)

首先,创建一个包含如下颜色组合的表:

Color  Color2
-------------
Red    Red
Red    Blue
Red    Green
Blue   Red
Blue   Blue
Blue   Green
Green  Red
Green  Blue
Green  Green

这样做的一种方法是创建一个计算出来的Colors表,如下所示:

Colors = CROSSJOIN(SELECTCOLUMNS(VALUES(Data[Color]), "Color", Data[Color]),
                   SELECTCOLUMNS(VALUES(Data[Color]), "Color2", Data[Color]))

现在我们可以在此表上创建一个计算列,用于计算相交值:

Count = 
    VAR Materials1 = CALCULATETABLE(VALUES(Data[Material]),
                         Data[Color] = EARLIER(Colors[Color]))
    VAR Materials2 = CALCULATETABLE(VALUES(Data[Material]),
                         Data[Color] = EARLIER(Colors[Color2]))
    RETURN IF(Colors[Color] = Colors[Color2], BLANK(),
               COUNTROWS(INTERSECT(Materials1, Materials2)))

现在,您可以使用行上的Color和列上的Color2以及值框中的Count以矩阵形式设置它们。

Matrix