每到月底做报表,你是不是还在疯狂复制粘贴12个月的数据表?明明都是相同的产品名称、客户信息,却要花2小时手动对齐?今天教你两种神级操作:用VLOOKUP+INDIRECT函数跨表抓取,用数据透视表一键合并!全程不用写VBA,不用装插件,用同一份模拟数据手把手教学!
一、函数公式法:VLOOKUP+INDIRECT精准抓取
适用场景:需要动态更新、字段顺序不一致的多表合并
只需输入以下公式就能实现跨表抓取数据:
=VLOOKUP($A2,INDIRECT(B$1&"!A:B"),2,0)
下面请听我分析:
第一步:认识INDIRECT函数——你的“工作表遥控器”(读取数据范围作为vlookup函数的第二参数)
=INDIRECT(B$1&"!A:B")
(1)B$1:你的“月份标签”(比如B1单元格写着“1月”)
因为我们不能直接引有工作表名的“1月”到“12月”,但可以直接引用单元格里的内容,所以在B1到M1写上与工作表相同的名字。
为何要锁定B1单元格中的$1呢?
因为待会公式要向右拉从B1到M1,行不变,列要变。所以要锁定行号1。
(2)&"!A:B":拼接成“1月!A:B”,意思是“1月表的A到B列”。
因为我们迟会要用vlookup函数来查找,各个月的A列到B列是作为vlookup函数的第二个参数:查找范围。
输入以下公式:
=B$1&"!A:B"
我们可以看到它只是显示"1月!A:B"这段文字,并不是返回1月表中的A跟B列的数据范围。
(3)INDIRECT的作用:把这段文字变成真实的引用,就像用遥控器切到“1月”这个频道
输入公式:=INDIRECT(B$1&"!A:B"),会变成#spill,你也不要害怕,
你在公式编辑栏里,选中公式
按F9,你会发现数据已经都有了:
为何出现这么多“0”,那是因为我们公式中是A列跟B列,都是一整列,空格显示为0。
第二步:VLOOKUP函数——精准抓取数据的“机器人”
=VLOOKUP($A2, INDIRECT(B$1&"!A:B"), 2, 0)
(1)找什么? → $A2(A列的产品名)
$符号的作用:锁住A列,向右拖时永远找A列,向下拖时行号变A3、A4...
(2)去哪里找? → INDIRECT(...)(遥控器切到的月份表区域)
(3)拿第几列? → 2
(4)怎么匹配? → 0(必须一模一样,防止“苹果手机壳”误认成“苹果手机”)
接下来,你就可以对公式进行向右,向下拖动了。
二、数据透视表法:一键合并全年数据
适用场景:字段结构完全相同的多表快速汇总
第1步:召唤“数据合并神器”
(1)按住键盘上的 Alt 键不放,先按 D,再按 P
(2)会弹出一个灰色窗口(数据透视表向导),直接选 【多重合并计算区域】 → 点 【下一页】
第2步:告诉Excel你要合并哪些表
- 选 【创建单页字段】 → 点 【下一页】
- 添加第1个月的数据:
- 用鼠标选中1月表的 所有数据(含标题行!比如A1到B11)
- 点 【添加】 → 左侧列表会出现“1月”!$A$!:$B$11”
- 重复添加其他月份:
- 直到12个月全部加完 → 点 【下一步】
第3步:生成汇总表并调整
- 选 【新工作表】 放结果表 → 点 【完成】
- 大功告成! 所有月份数据自动合并
3.设置报表样式:看你自己喜欢啥样了。
函数派选VLOOKUP+INDIRECT:适合需要长期维护、表结构可能变化的场景
效率党选数据透视表:适合快速汇总标准化数据,3分钟出结果
评论 (0)