Как я могу создать матрицу отношений в Excel - PullRequest
0 голосов
/ 17 января 2019

Учитывая список троек, я хочу получить матрицу отношений следующим образом.

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 или аналогичном?

Ответы [ 2 ]

0 голосов
/ 17 января 2019

Используя формулу массива, вы можете сгенерировать массив, который будет содержать либо значение третьего столбца, либо пробел в зависимости от того, следует ли включать это значение. Вы можете присоединиться к ним, используя 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, а таблица, которую вы хотите, в F2: I5 (со строкой 2 и столбцом F, содержащим индексы), вам нужно использовать эту формулу в G3: {=TEXTJOIN(",";TRUE;IF($A$1:$A$9=$F3;IF($B$1:$B$9=G$2;$C$1:$C$9;"");""))}

enter image description here

Если вы не знакомы с формулами массива, имейте в виду, что для его ввода вам понадобится сочетание клавиш CTRL + SHIFT + ENTER. Затем вам нужно будет скопировать G3 и вставить его в другие ячейки таблицы (в Excel это будет сложно, если вы попытаетесь вставить в диапазон, включая ячейку, из которой вы скопировали формулу массива, поэтому вам, возможно, придется это сделать в несколько страз); и формула будет использовать правильные индексы, так как $ F3 и G $ 2 являются относительными.

0 голосов
/ 17 января 2019

Возможно, вы захотите использовать надстройку

Следуйте этому руководству, чтобы получить этот инструмент

А потом у тебя это из коробки :)

Это руководство весьма полезно

...