如何在Excel中使用数据透视表在一个单元格中统计多个值?

我在Excel表中有这张表:

在这里输入图像描述

我想创build一个数据透视表来得到这个结果:

在这里输入图像说明

你有什么想法如何做到这一点?

如果您可以使用帮助器列,请使用文本到列来将第三列分隔成单独的列,方法是使用逗号作为分隔符。 获取一列中的所有内容,然后在结果数据上创build数据透视表。

编辑:

selectC2:C5并转到数据选项卡,然后select“文本到列”,出现一个对话框。 selectdelimited ,然后检查下一个屏幕上的comma框以及space选项来摆脱空格,并打完成。 你应该有每个项目在自己的单元格。

接下来,我们需要将所有内容都放在一列中。 如果没有VBA,没有一个好办法(如果你有很多数据需要VBA的话),但是你可以做的更小的数据集是拷贝整个行,右键点击空列的顶部,selectPaste Special并检查Transpose选项。 这会将您复制的数据行作为列复制并粘贴到目标中,反之亦然(如果您复制了列)。 重复所有行的数据,直到你有一个很好的列的所有水果(包括重复)。

这听起来像你有一个数据透视表的把握,所以我不会详细说明,但我可以,如果你需要我。

EDIT2:

这里有一些链接 , 指向将表转换为除复制和粘贴之外的一列。 我build议使用下面的代码:

 Sub ConvertRangeToColumn() 'Updateby20131126 Dim Range1 As Range, Range2 As Range, Rng As Range Dim rowIndex As Integer xTitleId = "KutoolsforExcel" Set Range1 = Application.Selection Set Range1 = Application.InputBox("Source Ranges:", xTitleId, Range1.Address, Type:=8) Set Range2 = Application.InputBox("Convert to (single cell):", xTitleId, Type:=8) rowIndex = 0 Application.ScreenUpdating = False For Each Rng In Range1.Rows Rng.Copy Range2.Offset(rowIndex, 0).PasteSpecial Paste:=xlPasteAll, Transpose:=True rowIndex = rowIndex + Rng.Columns.Count Next Application.CutCopyMode = False Application.ScreenUpdating = True End Sub 

即使没有数据透视表,也可以解决这个问题。 我这样解决了同样的问题。

我想在第二个表中,“项目”在A1中,“表计数”在B1中; 第一个表在“Sheet1”中,第二个表在“Sheet2”中

您还可以为客户购买的水果添加一个新的列。 这是Sheet1,D1列。

你可以在每一行的“项目计数”列下面放置这样一个公式:(你只需要把这个公式写下来并像往常一样延伸到底部)

 =SUMIF(Sheet1!$C$2:$C$5;"*"&A2&"*";Sheet1!$D$2:$D$5).