Excel 数据透视表根据列选择行,并显示所有列

Excel 数据透视表根据列选择行,并显示所有列

我正在使用 Excel 2010。下面是我的匿名数据样本。

Name    Factor  Nick Town
Anton   0   Anton   Denver
Anton   1   Anton1  Boston
Anton   2   AntonB  Miami
Anton   1   Anton1  Seattle
Bernard 0   Bernard Denver
Bernard 1   Bernie  Miami
Bernard 1   Bernardo    Seattle
Chuck   0   Chuck   Denver
Chuck   1   Chuckee Chicago
Chuck   2   Chuckee Seattle
Chuck   2   Chucky  Miami
Chuck   1   Tchuk   Chicago
Chuck   2   Chuck   Houston
Deborah 0   Deborah Denver
Deborah 1   Deb Miami
Deborah 2   Debbie  Chicago
Deborah 3   Debbee  Boston
Deborah 1   Debbie  Boston

我想要的是: 对于每个在特定城镇(比如芝加哥)中提及的名称,我想要找到它们所指的所有城镇。

就像是:

在此处输入图片描述

在 SQL 中,我会将其表达为:

select distinct Name , town from Dist 
  where Name in (select Name from Dist where town='Chicago');

我的过程: 我需要每个名称的城镇列表。这很简单。 名称和城镇

当我想将此列表过滤为仅包含芝加哥的名称时,就会出现问题。如果我过滤芝加哥,则会得到以下结果:

按城镇筛选的名字

  • 我尝试复制城镇字段,以便能够过滤第一个字段并显示第二个字段。但这没有奏效。
  • 我尝试了在列和行之间进行各种移动,但没有成功。
  • 我甚至不知道如何计算一列来达到我的目标。

如果不用数据透视表就能实现这一点,那我也可以接受。我只是觉得这样会更简单。

答案1

您需要向源数据添加辅助列。假设名称在 A 列中,城镇在 D 列中,则您的公式将是(在 E2 中):

=COUNTIF(A:A,A2,D:D,"Chicago")

这将返回1包含芝加哥的名称,以及0不包含芝加哥的名称。(与 SQL 中的子查询逻辑相同

只需为您的数据透视表过滤器和过滤器添加这个新列即可1

答案2

选择列标题并右键单击。选择字段设置 > 布局和打印。并切换显示没有数据的项目。

在此处输入图片描述

相关内容