我在 Excel 中有这样的数据:
我想像这样转换为(5 * 7)矩阵:
莎拉·乔恩·雪莉杰克·乔·彼得·贝蒂 书 1 1 0 0 0 0 0 0 书 2 1 0 0 1 0 0 1 书3 0 0 0 0 0 1 0 书4 0 1 1 1 0 0 0 书5 0 0 1 0 1 0 0
我能做些什么?
我在 Excel 中有这样的数据:
我想像这样转换为(5 * 7)矩阵:
莎拉·乔恩·雪莉杰克·乔·彼得·贝蒂 书 1 1 0 0 0 0 0 0 书 2 1 0 0 1 0 0 1 书3 0 0 0 0 0 1 0 书4 0 1 1 1 0 0 0 书5 0 0 1 0 1 0 0
我能做些什么?
从单元格 A2 开始,粘贴您的书籍列表以创建网格的左侧。复制您的 ID 列表,然后从单元格 B2 开始,通过选择特殊粘贴、转置来粘贴您的 ID 列表。这将创建矩阵的顶部和侧面。
将此公式粘贴到单元格 B2 中
=IF(ISERROR(FIND($A2,VLOOKUP(B$1,$K:$L,2,FALSE))),0,1)
(其中 $K:$L 是 id 的列表,属于。即示例数据中的第二列和第三列。只要您更新引用 $K:$L 以引用新位置,它们就可以在任何地方)
现在,复制单元格 B2,并粘贴矩阵的其余部分。
以防万一可以在另一本书的标题中找到书名(例如“The Ring”和“Fellowship of the Ring”),您可以在单元格 F2 中使用此公式并上下复制到单元格 L6:
=--ISNUMBER(SEARCH(","&$E2&",",","&SUBSTITUTE(VLOOKUP(F$1,$B$2:$C$8,2,FALSE),", ",",")&","))
其中 F1:L1 是名称列表,E2:E6 是书名列表
我的选择是重新排列数据以适应数据透视表。所以复制 ColumnC 并将特殊值粘贴到 ColumnD 中。然后将 ColumnD 中的空白替换为空(从 中删除空格book1, book2
)。选择 ColumnD, Data > Data Tools - Text to Columns, Delimited, Comma 然后过滤 ColumnE 以选择非空白行并将 ColumnB 的可见部分(不包括标题)复制到 B9(或适合)和 ColumnE 的可见部分(不包括标题) 到 D9(或适合)。然后从 B1:D11 (或适合)创建您的数据透视表,如图所示(使用 ColumnD 为belong
- 即belong2
):