2016-09-17 79 views
1

我有一个Excel工作簿,其中包含一个工作表上的联系信息和另一个表单上的联系信息。我想要创建另一个工作表,该工作表具有一组筛选的联系人FULLNAME,以在表单工作表上的列表中显示。我有一个带有FULLNAME的数据透视表,但是我不能在没有分组项目的情况下在LASTNAME上添加排序,这不是我想要的。不包括重复数据使用多个字段和不分组的Excel数据透视表排序

更新任何建议:

所以我把它部分地工作,我用这种方法想要的方式。下面的图片是基于工作表中的表格的重要表格。你可以看到名字按名字排序。我想他们按姓氏

enter image description here

排序所以,当我加姓氏的Piviot表,所以我可以按姓氏排序,当然像这样IT部门的数据,预计。

enter image description here

,给了我这样的结果在我的表列表

enter image description here

正如你所看到的姓分组项也显示在这是不可取的名单。

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

因此,在下面的图片中使用了Andreas解决方案,它给了我数据透视表右侧的第一组数据。正如你所看到的那样,它有空间,并且将难以将该表绑定到列表。所以使用下面的宏函数,我能够创建没有空格的第3列数据。的功能如下...

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

而不是使用在我所创建的表进行所谓的“SortedSpacedRange”的第二列的数据的功能范围的数据。这使我可以更好地在多张纸上使用它。不要忘记使用Ctrl + Shift + Enter来插入函数。

enter image description here

正如你可以看到下面我现在有一个姓氏排序与一个比我的unspaced表的第一行中purposfully放在其他没有空格名单。

enter image description here

我希望有人认为这是有用的。再次感谢安德烈亚斯

+0

不知道你在问什么,我想你需要发布一些图片。但是,如果我理解它,你可以添加另一个数据透视表,你链接到另一个? – Andreas

+0

我做了一些更多的测试,我认为我真正需要的是在一张纸上有一张表格,然后有第二张和第三张纸张,这些纸张具有不同的数据子集。然后我可以从那里获取表单的数据,但是我希望第二张和第三张表包含参考数据,因此当我更新表时,表会得到更新。我会用我目前看到的一些图片更新操作。 – Tim

回答

1

现在我明白你的需要了。
只有前几天我问到如何理清从数据透视表此项目:
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数据透视表开始于,是我不好。只要用任何细胞替换细胞是第一个细胞。编辑结束。 编辑2:我现在看到它是第一个A4。编辑结束2.

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

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

现在,如果填写此公式,您应该只列出可在表单列表中使用的全名。

vba代码应放置在模块中,并且需要将该文件保存为宏活动工作簿xlsm,然后再在工作表上添加公式。

+1

谢谢安德烈亚斯,那解决了我的问题。我不得不做一些其他的事情,比如从新数据集中删除空白行,但是得到这个结果后,这正是我所期待的。 – Tim