如何实现非Pivot Table图表通过指定单元格的品牌信息筛选数据
如何实现非Pivot Table图表通过指定单元格的品牌信息筛选数据
嘿,我完全懂你的困扰——用数据透视表切片器的话,多个图表得反复设置筛选,太折腾人了!想靠一个指定的品牌输入单元格,让所有普通图表自动同步筛选对应数据对吧?我给你分享两个实用的方案,不用数据透视表就能轻松搞定:
方案一:动态命名区域 + 普通图表(适配所有Excel版本)
这个方法适合所有版本的Excel,核心是用「名称管理器」创建随指定品牌变化的动态数据区域:
- 先确认你的品牌输入单元格(比如是
Sheet1!B2,你可以换成自己实际的单元格位置),以及Averages工作表里的品牌列(假设是A列)、需要展示的数值列(假设是B列)。 - 打开「公式」选项卡,点击「名称管理器」,新建两个动态名称:
- 名称:
BrandList,引用位置输入:
这个公式会自动抓取=OFFSET(Averages!$A$2,0,0,COUNTA(Averages!$A:$A)-1,1)Averages表里所有品牌的列表(排除表头行)。 - 名称:
FilteredBrandData,引用位置输入:
这个公式会根据你输入的品牌,匹配到=OFFSET(Averages!$B$2,MATCH(Sheet1!$B$2,BrandList,0)-1,0,COUNTIF(Averages!$A:$A,Sheet1!$B$2),1)Averages表里对应的数值区域。
- 名称:
- 插入你需要的普通图表(比如柱状图、折线图),然后修改图表的数据源:把Y轴数据设置为
FilteredBrandData,如果需要展示品牌名称,也可以把X轴关联到匹配的品牌项。这样只要你在指定单元格修改品牌,图表会自动更新对应的数据。
方案二:FILTER函数生成动态数据源(适合Excel 365/2021及以上版本)
如果你用的是较新版本的Excel,这个方法更简单,不用折腾名称管理器:
- 新建一个空白工作表(比如命名为「动态筛选数据」),在A1单元格输入以下公式:
这个公式会自动筛选出=FILTER(Averages!A:B,Averages!A:A=Sheet1!$B$2,"未找到匹配品牌")Averages表里品牌等于指定单元格的所有行数据,要是没有匹配的品牌,还会显示提示文本。 - 基于「动态筛选数据」表里的结果插入普通图表,之后只要你修改指定单元格的品牌,FILTER函数会自动更新数据源,所有引用这个数据源的图表都会同步变化——多个图表共用这一个动态数据源就行,不用重复设置。
小提示
- 用OFFSET函数时,要确保
Averages表的品牌列没有空行,不然COUNTA会统计错误;如果有空行,可以用INDEX(Averages!$A:$A,COUNTA(Averages!$A:$A))来替代OFFSET的行数参数。 - 要是需要展示多个数值列(比如平均销量、平均利润),只要扩展FILTER的范围就行,比如改成
=FILTER(Averages!A:D,Averages!A:A=Sheet1!$B$2,...)。
备注:内容来源于stack exchange,提问作者Paul
相关产品推荐
相关产品推荐

