从单个单元格中的多个值创建矩阵

时间:2013-08-19 16:19:37

标签: excel excel-formula excel-2007 pivot-table vlookup

我在Excel中有这样的数据:

SO18318488 question example

我想转换为这样的(5 * 7)矩阵:

            sara   jone   shery  jack   joe    peter  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

我该怎么办?

3 个答案:

答案 0 :(得分:1)

从单元格A2开始,粘贴书籍列表以创建网格的左侧。 复制您的ID列表,然后在单元格B2中,通过选择paste special,transpose粘贴您的ID列表。这将创建矩阵的顶部和侧面。

将此公式粘贴到单元格B2

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

(WHERE $ K:$ L是ids的列表,属于。即样本数据中的第二和第三列。只要您更新引用$ K:$ L以引用新的,这些列可以是任何位置。位置)

现在,复制Cell B2,并粘贴矩阵的其余部分。

答案 1 :(得分:1)

如果书的标题可以在另一本书的标题中找到(例如“The Ring”和“Ring of Fellowship of the Ring”),你可以在单元格F2中使用这个公式并复制到单元格L6:< / p>

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

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

答案 2 :(得分:1)

我的选择是重新排列数据以适应数据透视表。因此,将ColumnC和Paste Special Values复制到ColumnD中。然后用空格替换ColumnD中的空格(从book1, book2中删除空格)。选择ColumnD,Data&gt;数据工具 - 文本到列,分隔,逗号然后过滤ColumnE以选择非空行并将ColumnB的可见部分(不包括标题)复制到B9(或适合)和ColumnE的可见部分(不包括标题)到D9(或适合)。然后从B1:D11(或适合)创建数据透视表,如图所示(使用ColumnD表示belong - 即belong2):

SO18318488 example