You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多
文档控制台
免费开始使用

如何在Excel及LO Calc中基于(category, value)长格式分类数据制作箱线图

如何在Excel及LO Calc中基于(category, value)长格式分类数据制作箱线图

嘿,这个问题我之前也碰到过!长格式的(category, value)数据直接做箱线图,确实会让Excel和LO Calc有点“摸不着头脑”——默认只会给两列各生成一个箱线,完全达不到按分类分组的效果。除了手动做数据透视表转宽格式,还有几个更高效的办法,我给你详细说说:

Excel 解决方案

1. 用动态数组函数自动转宽格式(适合Excel 365/2021)

如果你的Excel版本支持动态数组,这是最省心的方法,数据更新后还能自动同步:

  • 先提取所有唯一分类:在空白单元格(比如C1)输入 =UNIQUE(A:A)(假设你的category列在A列),回车后会自动溢出所有不重复的分类(比如foo、bar、baz)
  • 接着提取每个分类对应的数值:在第一个分类旁边的单元格(比如D1)输入 =FILTER(B:B,A:A=C1)(B列是value列),回车后会自动列出该分类下的所有数值,后续分类直接下拉公式即可
  • 现在你就得到了和示例中一样的宽格式数据,直接选中这些数据插入箱线图就行

2. 用数据透视图快速生成分组箱线图

不想写函数的话,数据透视图也能帮你一键搞定:

  • 选中所有长格式数据(包括表头),点击「插入」选项卡的「数据透视图」,选择一个放置位置
  • 在右侧字段列表里,把category拖到「列」区域,把value拖到「行」区域
  • 右键透视表,选择「数据透视表布局」改成「表格形式」,就能看到每个分类对应一列数值,直接选中透视表数据插入箱线图即可

LO Calc 解决方案

LO Calc对长格式数据的适配性更好,两种方法任选:

1. 数据透视表一键转宽格式

  • 选中长格式数据,点击「数据」选项卡的「数据透视表」,设置好放置位置后确定
  • 在透视表字段面板,把category拖到「列」字段,value拖到「行」字段
  • 右键透视表,选择「数据透视表布局」改成「表格形式」,就能看到每个分类对应一列数值,直接选中做箱线图就行

2. 高级筛选提取分类数据

  • 先提取唯一分类:选中category列,点击「数据」→「高级筛选」,勾选「选择不重复的记录」,把结果复制到空白列
  • 针对每个分类,再次用高级筛选:选中整个数据区域,点击「高级筛选」,设置条件为“category等于当前分类”,把结果复制到对应分类的旁边列,重复操作直到所有分类的数据都提取完成,最后插入箱线图

补充说明

目前不管是Excel还是LO Calc,都还不支持直接基于长格式数据生成分类箱线图,必须转成“一个分类一列数据”的宽格式。上面的方法都是用工具或函数自动完成转换,比手动整理数据高效太多,还能避免出错~

备注:内容来源于stack exchange,提问作者einpoklum

火山引擎 最新活动