【问题标题】:Sumif of multiple Index matches against one value多个索引的 Sumif 与一个值匹配
【发布时间】:2020-07-22 09:50:44
【问题描述】:

需要有关 Excel 动态搜索基于两个不同表匹配的两列总和的帮助。

我已经一次性输入了这张数据表

    A          B        C  
1   Qlty       Warp     Weft
2   Stpl.1     150      20
3   Cotn.1     80       60
4   Stpl.2     20       20
5   Cotn.2     20       20
6   Stpl.3     20       40

在 A2:A6 列中,质量不能重复,其名称是唯一的

数据输入和报告表在这里

       A            B              C            D               E               F
8      Yarn Name    Sent Bags      Remaining    Qualty          Used Warp       Used Weft
9      20           800            600          Stpl.1          71              200
10     150          101            30           Stpl.2          70              30
11     40           300            290          Stpl.3          100             10
12     20                          400

C9:C5000 是返回列,值基于 A9:A5000 列(纱线名称)计算 需要在 B2:B6 和/或 C2:C6 中找到纱线名称(例如:)“20”,无论它匹配,索引 A2:A6 中的质量 然后将返回的质量(可能不止一个)匹配到 D9:D5000 并将 E9:F5000 的数学结果相加

到目前为止我在 C12 中尝试过

=SUMIF($A$9:$A12,A12,$B$9:$B12)-(SUMIF($D$9:$D12,INDEX($A$2:$A$6,MATCH(A12,$B$2:$B$6,0)),$D$9:$D12)+SUMIF($D$9:$D12,INDEX($A$2:$A$6,MATCH(A12,$C$2:$C$6,0)),$D$9:$D12))

PS:- 我使用的是 Excel 2007

【问题讨论】:

    标签: excel excel-formula excel-2010 excel-2007


    【解决方案1】:

    如果我理解正确,那么下面的数组公式可以帮助你:

    =SUM(IFERROR(INDEX($A$2:$A$6,N(IF(1,(MMULT(--($B$2:$C$6=A9),TRANSPOSE(COLUMN($B$2:$C$6)^0))>0)*(ROW($B$2:$C$6))-1)))=TRANSPOSE($D$9:$D$12),0)*TRANSPOSE($E$9:$E$12+$F$9:$F$12))
    

    编辑后的数组公式按ctrl + shift + enter确认

    编辑:

    要分别计算经纬列,请使用以下数组公式:

    =SUM(IFERROR(INDEX($A$2:$A$6,N(IF(1,((A9=$B$2:$B$6)*ROW($B$2:$B$6))-1)))=TRANSPOSE($D$9:$D$12),0)*TRANSPOSE($E$9:$E$12))+SUM(IFERROR(INDEX($A$2:$A$6,N(IF(1,((A9=$C$2:$C$6)*ROW($C$2:$C$6))-1)))=TRANSPOSE($D$9:$D$12),0)*TRANSPOSE($F$9:$F$12))
    

    【讨论】:

    • 没有进入,报错The formula you entered contain an error,返回INDEX($A$2:**$A$6;**加粗区
    • 我忘记在公式中用逗号替换分号,请参阅编辑。
    • 有点混乱,我编辑了我的问题以便简要理解我们只需要总结参考纱线名称的经线或纬线,Stpl.1 只有纱线名称 150 的经线和 20 的纬线 - 所以, 总结时,我们将根据 Stpl.1 计算 Warp 列中的袋子
    • 所以需要分别计算Warn和Weft列。见编辑。
    • 太棒了 - 工作得很好 - 这是一个如此复杂和复杂的问题,但你做到了。先生,我很感谢你……太棒了
    猜你喜欢
    • 2018-07-24
    • 2019-12-28
    • 2017-10-28
    • 2018-11-10
    • 1970-01-01
    • 1970-01-01
    • 2019-01-11
    • 2021-09-02
    • 1970-01-01
    相关资源
    最近更新 更多