You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何根据Excel行中Series列取值为图表动态分配对应数据系列

Excel动态按Series列生成双系列图表的最简方案

不需要新增自定义辅助列,有两种通用实现路径:

方案1:透视图方案(全Excel版本兼容,操作门槛最低)

  • 选中你的原始数据区域,按Ctrl+T转换为超级表(结构化引用表),勾选「表包含标题」确认。这一步的作用是后续新增行、修改单元格内容时,数据范围会自动被识别,不需要手动调整。
  • 选中超级表任意单元格,点击「插入」选项卡→「数据透视表」,选择空白区域作为透视表存放位置。
  • 在数据透视表字段面板中做如下配置:
    • 行区域:拖入X Value字段
    • 列区域:拖入Series字段
    • 值区域:拖入Y value字段,值字段设置选择你需要的聚合规则(如果同一个X值+同一个Series只有唯一一条数据,选求和/最大值/最小值都不影响结果)
  • 选中透视表任意单元格,插入你需要的图表类型生成透视图即可。

使用效果:修改原始表的Series列取值、新增数据行后,右键点击透视表选择「刷新」,透视表和图表就会自动按最新的系列归属更新。如果想要实现修改后自动刷新不需要手动操作,可按Alt+F11打开VBA编辑器,双击对应工作表粘贴如下代码:

Private Sub Worksheet_Change(ByVal Target As Range)
    ThisWorkbook.RefreshAll
End Sub

方案2:动态命名范围方案(Excel 365/2021及以上版本适用,无需透视表)

如果不想用透视表,可以用动态数组函数定义命名范围作为图表数据源:

  • 先按方案1第一步将原始数据转换为超级表,假设超级表默认名称为表1。
  • 点击「公式」选项卡→「定义名称」,依次创建4个命名范围:
    1. 名称:系列1_X,引用位置:=FILTER(表1[X Value],表1[Series]="first")
    2. 名称:系列1_Y,引用位置:=FILTER(表1[Y value],表1[Series]="first")
    3. 名称:系列2_X,引用位置:=FILTER(表1[X Value],表1[Series]="second")
    4. 名称:系列2_Y,引用位置:=FILTER(表1[Y value],表1[Series]="second")
  • 插入空白目标图表,右键选择「选择数据」,添加两个系列:
    • 第一个系列名称填first,X轴系列值填=当前工作表名称!系列1_X,Y值填=当前工作表名称!系列1_Y
    • 第二个系列名称填second,X轴系列值填=当前工作表名称!系列2_X,Y值填=当前工作表名称!系列2_Y

配置完成后修改Series列取值,图表会自动实时更新,无需额外操作。

内容的提问来源于stack exchange,提问作者SystemsInCode

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.02 21:06:04