如何在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).