适配版本:Excel 2007-2021 全版本通用
高版本可以使用数据逆透视功能!
一、场景痛点:90%职场人都会的数据难题
日常工作中,我们经常收到二维矩阵汇总表:
表格是「多行多列」的汇总样式,但做透视表、台账、数据核对时,必须改成「一行一条」的一维明细列表。
大多数人只能手动复制粘贴、拼接数据,耗时久、极易出错!
今天教大家用 ROW+INT+MOD+INDEX 四大基础函数,用一个公式搞定 多行多列矩阵转单列明细,适配所有旧版Excel,无脑下拉即可生成完整数据!
二、通用标准模型:先搞懂 5行×3列 矩阵原理
为了方便大家零基础吃透公式逻辑,我们先建立一套标准通用模型:固定 5行、3列 二维矩阵,共15个数据。
转换规则:按先行后列顺序,从左到右、从上到下,将二维表格平铺成单列明细。
三、核心逻辑:4个函数分工拆解
矩阵转单列,核心就两件事:算出行号、算出列号,精准抓取每一个单元格数据。
1、ROW 函数:生成连续序号
=ROW(A1)
下拉自动生成 1、2、3、4……连续序号,代表当前是提取第几条数据。
2、MOD 函数:循环计算【列号】
本次矩阵共 3列,公式固定:=MOD(ROW(A1)-1,3)+1
作用:固定3列为一个循环周期,自动生成 1、2、3 的列序号,完美适配标准5×3矩阵的列数规则。
3、INT 函数:精准切换【行号】
=INT((ROW(A1)-1)/3)+1
作用:标准矩阵固定3列数据为1行,每读取完3个数据,自动切换至下一行,精准匹配5行矩阵的行号规则。
4、INDEX 函数:定点取值
根据算好的行号、列号,精准抓取表格内容,是整个公式的核心载体。
E2=INDEX($A$2:$C$6,INT((ROW(A1)-1)/3)+1,MOD(ROW(A1)-1,3)+1)
三、真实业务实战:项目分段统计表专属套用
看懂上面通用的5×3矩阵原理后,我们直接落地到职场真实业务表格:项目分段维度统计表。全程不用改动公式逻辑,仅适配业务单元格区域,直接复制套用即可。
业务场景参数(真实表格)
公式1:提取【项目名称】
项目是行维度,3列数据对应同一个项目,行号同步切换,列号固定
A10=IFERROR(INDEX($A$2:$A$6,INT((ROW(A1)-1)/3)+1),"")
公式2:提取【分段编号】
分段和项目一一对应,逻辑完全一致
B10=IFERROR(INDEX($B$2:$B$6,INT((ROW(A1)-1)/3)+1),"")
公式3:提取【分组维度】(小组/中组/大组)
维度是列循环,只用MOD生成1-3列号,固定读取表头
C10=IFERROR(INDEX($C$1:$E$1,MOD(ROW(A1)-1,3)+1),"")
公式4:提取【对应日期数据】
核心矩阵取值公式,完整抓取所有明细数据
D10=IFERROR(INDEX($C$2:$E$6,INT((ROW(A1)-1)/3)+1,MOD(ROW(A1)-1,3)+1),"")
然后选中A10:D10,鼠标放在单元格右下角,下拉填充;
超出数据范围自动显示空白,无报错、无需手动清理错误值
四、新手必避3个坑
1、绝对引用$不能丢:所有数据区域必须加$固定,否则下拉公式区域偏移,数据错乱;
2、列数必须对应3:当前是5行3列矩阵,INT、MOD除数必须是3,矩阵变列数同步改;
3、必加IFERROR:自动屏蔽超出15条数据的错误值,表格干净整洁。
五、通用万能模板(任意矩阵都能用)
只需替换【数据区域】和【总列数】,适配所有表格:
=IFERROR(INDEX(数据区域,INT((ROW(A1)-1)/总列数)+1,MOD(ROW(A1)-1,总列数)+1),"")
写在最后
不用Power Query、不用365新函数,仅凭4个基础函数,就能搞定矩阵转一维明细。专门适配大家的项目分段、台账统计、维度拆解场景,兼容所有Excel版本,学会这一个公式,从此告别手动拆表!