Excel使用XLOOKUP提取销售额并匹配对应营收数据方法咨询
Excel宽表转纵向周度统计表实现方法
针对你已完成销售额匹配、需要同步提取对应营收并转成三列纵向表的需求,直接按你使用的Excel版本选对应方案即可:
- 方案1:适用于Excel 365/2021及以上支持动态数组的版本
选空白区域的首个单元格,输入以下公式按回车,会自动生成带表头的完整结果表,无需下拉填充:
公式会自动识别不带=LET( 表头区域,A1:D1, 数值区域,A2:D2, 周次列,FILTER(表头区域,ISNUMBER(SEARCH("Revenue",表头区域))=FALSE), 销售额列,FILTER(数值区域,ISNUMBER(SEARCH("Revenue",表头区域))=FALSE), 营收列,FILTER(数值区域,ISNUMBER(SEARCH("Revenue",表头区域))=TRUE), VSTACK({"Week","Sale","Revenue"},HSTACK(周次列,销售额列,营收列)) )Revenue后缀的表头为周次、对应行的值为销售额,带Revenue后缀的表头对应值为营收,自动按周对齐,不会出现匹配错位。 - 方案2:适用于不支持动态数组的旧版Excel
先手动整理好周次列(即提取所有不带Revenue后缀的表头值,按行排列),再分别写两列匹配公式:- 销售额列:保留你之前写好的XLOOKUP匹配逻辑即可,按周次匹配对应列的销售额
- 营收列:在营收列首个数据单元格输入以下公式,下拉填充即可自动匹配对应周次的营收值:
公式最后一个参数=XLOOKUP(F2&"*",$A$1:$D$1,$A$2:$D$2,"",2)2代表启用通配符匹配,会自动定位到表头中以当前周次开头、带Revenue后缀的列,返回对应营收值。
原始宽表结构参考:
2020/01/01 2020/01/01 Revenue 2020/01/07 2020/01/07 Revenue 500 7855.6 354 8745.4 转换后目标表结构参考:
Week Sale Revenue 2020/01/01 500 7855.6 2020/01/07 354 8745.4
内容的提问来源于stack exchange,提问作者newbie
相关产品推荐
相关产品推荐

