Excel 数据透视表 Table 使用多个字段排序且不分组

Excel Pivot Table Sorting using Multiple Fields and No Grouping

我有一本 Excel 工作簿,一张工作表上有联系信息,另一张工作表上有表格。我想创建另一个工作表,其中包含一组已过滤的联系人 FULLNAME,以显示在表单工作表的列表中。我让它与带有 FULLNAME 的枢轴 table 一起工作,但我无法在不对项目进行分组的情况下对 LASTNAME 添加排序,这不是我想要的。任何不包括数据重复的建议

更新:

所以我用这种方法让它部分地按照我想要的方式工作。下图是基于工作表中 table 的枢轴 table。您可以看到名称按名字排序。我希望它们按姓氏排序

因此,当我将姓氏添加到 Piviot table 以便我可以按姓氏排序时,当然它会像这样对数据进行分组,这是预期的。

这在我的表单列表中给出了这个结果

如您所见,姓氏分组条目也显示在列表中,这是不可取的。

更新: 使用下面的 Andreas 解决方案和其他一些修改,我能够解决这个问题。我发布了一个完整的解决方案,因为我知道其他人会需要它。

所以使用下图中的 Andreas 解决方案,它为我提供了第一组数据,位于我的枢轴 table 右侧。正如您所看到的那样,它有空格并且会难看地将 table 绑定到列表。因此,使用以下宏函数,我能够创建没有空格的第 3 列数据。函数如下...

=IFERROR(INDEX(SortedSpacedRange,SMALL((IF(LEN(SortedSpacedRange),ROW(INDIRECT("1:"&ROWS(SortedSpacedRange))))),ROW(A1)),1),"")

我没有在函数中使用范围数据,而是从名为 "SortedSpacedRange" 的第二列数据中创建了一个 table。这使我可以更好地跨多个工作表使用它。不要忘记使用 Ctrl+Shift+Enter 来插入函数。

正如您在下面看到的,我现在有一个姓氏排序列表,除了我有意放置在无空格 table.

的第一行的空格外,没有其他空格。

我希望有人觉得这有用。再次感谢安德烈亚斯

现在我知道你需要什么了。
就在几天前,我在这里问了如何从枢轴 table 中整理项目:

您需要的是:

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

如果枢轴 table 中的项目是新项目或 "sum",这将 return true/false。

所以在枢轴旁边的新列中 table 使用以下公式:

编辑:显然不是 A1 枢轴 table 开始,我的错。只需用第一个单元格替换单元格即可。编辑结束。 编辑 2:我现在看到第一个是 A4。编辑结束 2.

=if(A4="","",if(IsItem(A4),A4,""))

它首先查看单元格,如果它是空的,则 return 空。
如果不为空,它会查看该值,如果它是全名(不仅是姓氏),它将 return 名称,否则为空。

现在,如果您填写此公式,您应该有一个仅包含您可以在表单列表中使用的全名的列表。

vba 代码应该放在一个模块中,在 sheet.

上添加公式之前,文件需要保存为 macroactivated workbook xlsm