如何在 Excel 中创建关系矩阵
How can I create a relationship matrix in Excel
给定一个三元组列表,我想得到一个关系矩阵,如下所示。
1 A X
1 A Y
1 B X A B C
1 B Z 1 X,Y X,Z
2 A Z ==> 2 Z X Y
2 B X 3 Y Z
3 A Y
3 A Z
2 C Y
(如何)可以在 Excel/VB/PowerBI 或类似的情况下完成?
也许您会考虑使用加载项
按照本指南获取 this tool
然后开箱即用 :)
This guide很有帮助
使用数组公式,您可以生成一个数组,该数组将包含第三列的值或空白,具体取决于是否应包含该值。然后您可以使用 TEXTJOIN 加入他们。
TEXTJOIN 是 Office 365 中的新功能;如果你没有它,你首先需要以这种方式将它定义为一个函数(取自MrExcel):
Function TEXTJOIN(Delimiter As String, IgnoreBlanks As Boolean, ParamArray Text() As Variant) As String
Dim Item As Variant, V As Variant, Arr As Variant
For Each Item In Text
If VarType(Item) > 8191 Then
For Each V In Item
If Len(V) > 0 Or (Len(V) = 0 And Not IgnoreBlanks) Then TEXTJOIN = TEXTJOIN & Delimiter & V
Next
Else
TEXTJOIN = TEXTJOIN & Delimiter & Item
End If
Next
TEXTJOIN = Mid(TEXTJOIN, Len(Delimiter) + 1)
End Function
现在回到你的问题,假设你的数据在 A1:C9 而你想要的 table 在 F2:I5 (第 2 行和 F 列包含索引)你'您需要在 G3 中使用此公式:{=TEXTJOIN(",";TRUE;IF($A:$A=$F3;IF($B:$B=G;$C:$C;"");""))}
:
如果您不熟悉数组公式,请注意您需要使用 CTRL+SHIFT+ENTER 来输入它。然后,您需要复制 G3 并将其粘贴到 table 的其他单元格(如果您尝试粘贴到包括您从中复制数组公式的单元格在内的范围,excel 将对此很挑剔,因此您可能需要多次粘贴);公式将使用适当的索引,因为 $F3 和 G$2 是相对的。
给定一个三元组列表,我想得到一个关系矩阵,如下所示。
1 A X
1 A Y
1 B X A B C
1 B Z 1 X,Y X,Z
2 A Z ==> 2 Z X Y
2 B X 3 Y Z
3 A Y
3 A Z
2 C Y
(如何)可以在 Excel/VB/PowerBI 或类似的情况下完成?
也许您会考虑使用加载项
按照本指南获取 this tool
然后开箱即用 :)
This guide很有帮助
使用数组公式,您可以生成一个数组,该数组将包含第三列的值或空白,具体取决于是否应包含该值。然后您可以使用 TEXTJOIN 加入他们。 TEXTJOIN 是 Office 365 中的新功能;如果你没有它,你首先需要以这种方式将它定义为一个函数(取自MrExcel):
Function TEXTJOIN(Delimiter As String, IgnoreBlanks As Boolean, ParamArray Text() As Variant) As String Dim Item As Variant, V As Variant, Arr As Variant For Each Item In Text If VarType(Item) > 8191 Then For Each V In Item If Len(V) > 0 Or (Len(V) = 0 And Not IgnoreBlanks) Then TEXTJOIN = TEXTJOIN & Delimiter & V Next Else TEXTJOIN = TEXTJOIN & Delimiter & Item End If Next TEXTJOIN = Mid(TEXTJOIN, Len(Delimiter) + 1) End Function
现在回到你的问题,假设你的数据在 A1:C9 而你想要的 table 在 F2:I5 (第 2 行和 F 列包含索引)你'您需要在 G3 中使用此公式:{=TEXTJOIN(",";TRUE;IF($A:$A=$F3;IF($B:$B=G;$C:$C;"");""))}
:
如果您不熟悉数组公式,请注意您需要使用 CTRL+SHIFT+ENTER 来输入它。然后,您需要复制 G3 并将其粘贴到 table 的其他单元格(如果您尝试粘贴到包括您从中复制数组公式的单元格在内的范围,excel 将对此很挑剔,因此您可能需要多次粘贴);公式将使用适当的索引,因为 $F3 和 G$2 是相对的。