You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

无需数据透视表,如何用Excel公式转换指定表格结构?

不使用数据透视表实现Excel表格结构转换的公式方法

源数据与目标结构说明

源数据(假设位于A1:D7单元格区域)

product_codeComponent_codeseverityCount
GMFOPENGMFOPENAPPHIGH1
GMFOPENGMFOPENPROJECTCRITICAL5
GMFOPENGMFOPENPROJECTHIGH41
GMFOPENGMFOPENPROJECTLOW3
GMFOPENGMFOPENPROJECTMEDIUM39
GMFOPENGMFOPENPROJECTSUGGEST1

目标结构(假设从F1:K3开始构建)

product_codecomponent_codeHIGHCRITICALMEDIUMLOWSUGGEST
GMFOPENGMFOPENAPP1
GMFOPENGMFOPENPROJECT4153931

可用公式方案

1. SUMIFS函数(最直接的统计方法)

针对目标表中每个 severity 列的单元格,使用SUMIFS多条件求和:

  • 以目标表H2单元格(GMFOPENAPP对应的HIGH值)为例,公式为:
    =SUMIFS($D:$D,$A:$A,$F2,$B:$B,$G2,$C:$C,H$1)
    
    解释:匹配product_code等于F2、Component_code等于G2、severity等于H1的记录,对Count列求和。
  • 把公式向右、向下填充,即可自动计算所有对应值;若要让无匹配的单元格显示空白,可嵌套IF:
    =IF(SUMIFS($D:$D,$A:$A,$F2,$B:$B,$G2,$C:$C,H$1)=0,"",SUMIFS($D:$D,$A:$A,$F2,$B:$B,$G2,$C:$C,H$1))
    

2. INDEX+MATCH组合函数

通过定位匹配行的Count值实现,适合单条匹配的场景:

  • 目标表H2单元格公式:
    =IFERROR(INDEX($D:$D,MATCH(1,($A:$A=$F2)*($B:$B=$G2)*($C:$C=H$1),0)),"")
    
    解释:用MATCH找到同时满足三个条件的行号,再用INDEX提取对应Count值;IFERROR处理无匹配的情况,返回空白。
  • 注意:旧版Excel中这是数组公式,需要按Ctrl+Shift+Enter确认;新版Excel会自动识别数组运算。

3. SUMPRODUCT函数

利用数组运算实现多条件统计,效果类似SUMIFS:

  • 目标表H2单元格公式:
    =SUMPRODUCT(($A:$A=$F2)*($B:$B=$G2)*($C:$C=H$1)*$D:$D)
    
    解释:通过逻辑判断生成数组,相乘后求和;无匹配时返回0,同样可嵌套IF转为空白:
    =IF(SUMPRODUCT(($A:$A=$F2)*($B:$B=$G2)*($C:$C=H$1)*$D:$D)=0,"",SUMPRODUCT(($A:$A=$F2)*($B:$B=$G2)*($C:$C=H$1)*$D:$D))
    

补充说明

  • 目标表的product_code和component_code列,Excel 365及以后版本可直接用UNIQUE函数提取不重复组合:
    =UNIQUE(A2:B7)
    
    旧版Excel可通过高级筛选功能提取不重复值,无需公式。

内容的提问来源于stack exchange,提问作者Cesare

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.09 06:28:35