在Excel社区看到一个求助帖,发帖人说他有一个下图所示的每周的食谱表格:
他需要从中提取数据,变成下面的表格:
现在他是手工的复制粘贴,得到这个简易餐谱的表格。考虑到每周都要做,他就发贴询问是否有更简单的方法。
在这个问题的下面,一堆高手帮他用函数解答,公式一个比一个长。但我看完之后的第一个想法不是'这个函数怎么写',而是——他们都走错路了。
真正的问题不是"怎么转换"
大家遇到这类问题的本能反应,是想办法"把A表变成B表"。
但这个思路本身就是个陷阱。不管用什么函数、VBA还是Power Query,"把A表变成B表"这件事本身就很伤神——难而且下次还要重做一遍。
真正应该问的是:A表和B表,能不能有一个共同的源头?
能。这个源头,就叫做一维表。
什么是一维表?
一维表就是最简单、最规范的数据录入格式:
以这个配餐案例为例,一维表大概长这样:
看起来很普通,甚至比那张排版精美的配餐表"难看"多了。
但正是这个"难看",让它可以做到任何事。
有了一维表,你能干什么?
生成打印用的配餐表: 用数据透视表,一键生成按星期、用餐分类展示的打印格式,筛哪天打印哪天。
生成简洁汇总格式: 用Power Query分组汇总,每行一个用餐时段,菜名自动合并成一行。
统计金额汇总: 透视表设置求和,按星期、按用餐时段随意切换。
一张表,三种用途,不需要手动转换任何内容。
回到发帖人的问题
现在回头看,发帖人有两种可能:
情况一:配餐表是从系统导出的,结构固定无法修改
这种情况下没办法从源头改变表的结构,但不要尝试直接把表1变成表2——这条路很难走。
正确思路是在中间插入一张一维表作为中转:
系统导出的配餐表 → 一维表(中转) → 简洁汇总
第一步:用Power Query + AI把配餐表转成一维表
不需要自己一步步摸索Power Query的操作,直接把配餐表截图发给AI,告诉它:
"我现在要用Power Query对这张表做数据清洗,目标是转成一维表,每行一条记录,列包括:周次、星期、用餐分类、菜名、材料、金额。请帮我生成Power Query代码。"
AI会直接给你一段代码。打开Excel → 数据 → 获取数据 → 来自文件 → 从Excel工作簿,加载数据后进入Power Query编辑器,点击【高级编辑器】,把代码粘贴进去运行。
这是代码运行的结果,一键自动把刚刚的表格1转成了一张结构清晰的一维表:
如果代码运行出现报错,把错误信息截图发给AI,让它帮你修正,重复这个过程直到跑通为止。
第二步:新建查询,用AI生成简洁汇总
有了一维表之后,想要生成表格2的简易餐单,用函数来实现也会非常的困难,还是可以继续让Power Query生成。先新建一个空白查询,同样告诉AI:
"我已经有了一张名为'原食谱'的一维表查询,包含周次、星期、用餐分类、菜名、材料、金额这几列。我想新建一个查询,引用这张一维表,按星期和用餐分类分组,把菜名用顿号合并成一行,并按星期一到星期日的顺序排列。请帮我生成Power Query代码。"
AI会根据你的需求生成代码:
同样粘贴进高级编辑器,有报错反馈给AI修正。最终得到的就是你想要的简洁汇总格式。
这是把数据加载到Excel中的效果:
到下一周,只需要把系统导出来的表格1的文件,复制粘贴到这个文件夹,替换之前的表格1。再到刚刚Power Query生成的表格上,点击鼠标右键,选择“刷新”,就可以得到新一周的数据。
情况二:配餐表是自己手工做的,每周都要重新做一遍
这才是最值得重视的情况。
你知道他每周在干什么吗?先花大量时间手工制作那张排版精美的配餐表,再想办法把里面的数据提取出来——两件事都在耗时间,而且两件事都可以不用做。
正确的工作流应该是:
先建一维表 → 透视表自动生成打印用配餐表 + Power Query自动生成简洁汇总
每周只需要在一维表里新增当周的菜单数据,两种格式全部自动更新。
一维表怎么建?
就是上面展示的那个格式:周次、星期、用餐分类、菜名、材料、金额,每行一条记录,不需要任何排版,不需要合并单元格,录入非常简单。
简易餐单怎么生成?
同样用情况一中的Power Query方法,思路完全一样。
打印用配餐表怎么生成?
用数据透视表,操作步骤如下:
- 点击一维表任意单元格 → 【插入】→【数据透视表】
- 【筛选器】区域:拖入"周次"、"星期"(用于按周、按天筛选打印)
- 【行】区域:依次拖入"用餐分类"→"菜名"→"材料"
- 设置合并居中效果(让第一列和第二列视觉上像合并单元格):
设置完成后,点击顶部筛选器选择"星期天",下面就只显示星期天的数据,格式和原来手工做的配餐表几乎一模一样,直接打印即可。
以后只要一维表的数据更新了,只需要在透视表和Power Query生成的简易餐单表上,鼠标右键“刷新”,就可以更新到最新的数据。
从一成不变的手工排版,到一键自动生成两种格式。这才是应该有的状态。
一句话总结
Excel里所有复杂的表格和展示形式,都应该从一张一维表出发。
不要问"怎么把这张表转成那张表",而要问"我能不能先建一张一维表,让两张表都来找我?"
数据思维的转变,比学任何一个函数都更值钱。
精品线上课程
《Office职场高手修炼之道》系列精品线上课程旨在帮助各位职场人士提升办公技能,让你从繁杂的事务性工作中解脱开来,能够专心地提升业务能力。长按下方二维码即刻开始学习和成长▼