有没有办法反转 table 来更改列 headers?

Is there a way to inverse a table to change the column headers?

我的 table 的第一列中有一个姓名列表,第二列是我列出了该人员受过培训的所有功能的地方。有没有办法创建一个新的 table 链接到这个不断变化的 table(随着越来越多的人接受培训),随着他们接受培训,不断在每个职能下增加人员?

第一个 table 很重要,但我也想在第二种方法中显示相同的信息,而不必两次编辑文件。

更详细地说,这是我第一个 table 上的 2 行示例:

Tom Jones  | Phone, social media, coffee
Lila Jones | Phone, coffee, voicemail 

我想要一个单独的链接列或 table 来显示: PHONE:汤姆·琼斯、莉拉·琼斯等等

你可能想要这样的东西:

Table 1 
[ID] AUTOINCREMENT PRIMARY KEY
[Name] TEXT

Table 2
[ID] Integer PRIMARY KEY
[Functions] TEXT

然后在数据库工具 > 关系中创建从 Table 1 到 Table 2 的引用,选中所有 3 个引用完整性框。这是一种更规范化的方法。

这是一种方法:

Sub Tester()

    Dim c As Range, dict, arr, v, l, shtOut As Worksheet

    Set shtOut = Sheets("Sheet2")

    shtOut.UsedRange.ClearContents

    Set dict = CreateObject("scripting.dictionary")
    Set c = Sheets("Sheet1").Range("A2") '<< first name in list

    Do While Len(c.Value) > 0 '<< run until hit an empty name cell
        l = Trim(c.Offset(0, 1).Value)
        If Len(l) > 0 Then
            arr = Split(l, ",")
            For Each v In arr
                v = UCase(Trim(v))
                If dict.exists(v) Then
                    dict(v) = dict(v) & ", " & c.Value
                Else
                    dict.Add v, c.Value
                End If
            Next v
        End If
        Set c = c.Offset(1, 0)
    Loop

    With shtOut.Range("A2")   '<< output list starts here
        .Resize(dict.Count, 1).Value = Application.Transpose(dict.keys)
        .Offset(0, 1).Resize(dict.Count, 1).Value = _
                                      Application.Transpose(dict.items)
    End With


End Sub