使用多个字段和不分组的Excel数据透视表sorting
我有一个Excel工作簿,其中一个工作表上的联系信息和另一个上的表单。 我想要创build另一个工作表,其中有筛选的联系人FULLNAME集显示在窗体工作表上的列表中。 我有一个透视表与FULLNAME工作,但我不能添加一个sortingLASTNAME没有分组的项目,这不是我想要的。 任何build议,不包括数据重复
更新:
所以我用这种方法部分按照我想要的方式工作。 下面的图片是一个基于工作表中的表格的重要表格。 你可以看到名字是按名字sorting的。 我希望他们按姓氏sorting
所以当我把姓氏添加到Piviot表中时,我可以按姓氏sorting,当然,它将像这样分组数据,这是预期的。
这在我的表单列表中给了我这个结果
正如你所看到的名字分组条目也显示在列表中是不可取的。
更新:使用下面的Andreas解决scheme和其他一些修改我能够完成这个问题。 我发布了一个完整的解决scheme,因为我知道别人会需要它。
所以在下面的图片中使用了Andreas解决scheme,它给了我数据透视表右边的第一组数据。 正如你所看到的,它有空间,并将难看的表绑定到一个列表。 所以使用下面的macros函数,我能够创build没有空格的第3列数据。 function如下…
=IFERROR(INDEX(SortedSpacedRange,SMALL((IF(LEN(SortedSpacedRange),ROW(INDIRECT("1:"&ROWS(SortedSpacedRange))))),ROW(A1)),1),"")
我没有在函数中使用范围数据,而是使用名为“SortedSpacedRange”的第二列数据创build了一个表。 这使我可以更好地使用多张纸。 不要忘记使用Ctrl + Shift + Enter来插入函数。
正如你在下面看到的,我现在有一个姓氏sorting列表,没有空格,而不是有意放在未分页表的第一行。
我希望有人认为这有用。 再次感谢安德烈亚斯
现在我明白你需要什么了。
就在几天前,我问了如何在这里从数据透视表中挑选项目:
https://stackoverflow.com/questions/39383971/how-can-i-detect-pivot-table-new-items
你需要的是:
Function IsItem(c) If c.IndentLevel <> 0 Then ' I think this will work, not tested. Typing on my phone IsItem = True Else IsItem = False End If End Function
如果数据透视表中的项目是新项目或“总和”,这将返回true / false。
因此,在数据透视表旁边的新列中使用以下公式:
编辑:显然是不是A1枢轴表开始,我的坏。 只要用任何细胞replace细胞是第一个。 编辑结束。 编辑2:我现在看到,它是A4是第一个。 编辑结束2。
=if(A4="","",if(IsItem(A4),A4,""))
它首先看单元格,如果它是空的,则返回空。
如果不为空,则查看该值,如果是全名(不仅是姓氏),则返回名称,否则返回空值。
现在,如果你填写这个公式,你应该只有你可以在你的表单列表中使用的全名列表。
vba代码应放置在模块中,并且在将表单添加到公式之前,需要将文件保存为macros活动工作簿xlsm。