在单个单元格中从多个值创buildmatrix

我在Excel中有这样的数据:

SO18318488问题的例子

我想要转换为(5 * 7)像这样的matrix:

            萨拉琼斯shery杰克乔彼得beti
     book1 1 0 0 0 0 0 0
     book2 1 0 0 1 0 0 1
     book3 0 0 0 0 0 1 0
     book4 0 1 1 1 0 0 0
     book5 0 0 1 0 1 0 0 

我能做什么?

我的select是重新排列数据以适应数据透视表。 因此,复制ColumnC并将特殊值粘贴到ColumnD中。 然后将ColumnD中的空白replace为空(从book1 book1, book2删除空格)。 selectColumnD,Data> Data Tools – Text to Columns,Delimited,Comma然后过滤ColumnE以select非空白行,并将ColumnB的可见部分(不包括标题)复制到B9(或适合)以及ColumnE的可见部分(不包括标题)到D9(或适合)。 然后创build您的数据透视表B1:D11(或适合)如图所示(使用ColumnD belong – 即belong belong2 ):

SO18318488的例子

从单元格A2开始,粘贴您的书籍列表以创build网格的左侧。 复制您的ID列表,然后开始在单元格B2中,通过select粘贴特殊,转置来粘贴您的ID列表。 这将创buildmatrix的顶部和侧面。

将此公式粘贴到单元格B2中

 =IF(ISERROR(FIND($A2,VLOOKUP(B$1,$K:$L,2,FALSE))),0,1) 

(WHERE $ K:$ L是一个id列表,属于你的样本数据中的第二列和第三列,只要你更新引用$ K:$ L来引用新的位置就可以在任何地方)

现在,复制单元格B2,粘贴matrix的其余部分。

为了防止书名可以在另一本书的标题中find(例如“戒指”和“戒指之友”),您可以在单元格F2中使用此公式,并上下复制到单元格L6:

 =--ISNUMBER(SEARCH(","&$E2&",",","&SUBSTITUTE(VLOOKUP(F$1,$B$2:$C$8,2,FALSE),", ",",")&",")) 

其中F1:L1是名称列表,E2:E6是书名列表