• 【EXCEL】SUMIFS多次条件筛选数据


    问题案例

    有如下两个工作表(Sheet1和Sheet2):

    在sheet1中的C2行获得一个结果(项目1的1月收入),是对sheet2中的A列筛选出“项目1”+B列筛选出“202401”而获得对应C列的结果。借助excel的公式如何实现。

    Sheet1 - 总览表

    项目收入1月收入2月收入
    项目1
    项目2

    Sheet2 - 详细收入记录

    项目年月收入
    项目1202401100
    项目1202402130
    项目2202401200
    项目2202402230

    目标:在Sheet1中根据项目名称和月份获取对应的收入数据。

    解决方法

    方法一:使用 INDEXMATCH 函数组合

    在Sheet1的C2单元格中,我们可以使用数组公式来匹配项目1在202401月份的收入:

    =INDEX(Sheet2!C:C, MATCH(1, (Sheet2!A:A="项目1")*(Sheet2!B:B=202401), 0))
    
    • 1

    输入上述公式后,使用Ctrl + Shift + Enter来确认,Excel会处理它作为一个数组公式。

    方法二:使用 SUMIFS 函数

    在Sheet1的C2单元格中,可以使用SUMIFS函数来实现相同的目标,而无需输入数组公式:

    =SUMIFS(Sheet2!C:C, Sheet2!A:A, "项目1", Sheet2!B:B, 202401)
    
    • 1

    这个公式会返回所有满足条件(项目为“项目1”且年月为“202401”)的收入值的总和。

    知识点拓展

    INDEX 函数

    INDEX 函数返回表格中指定单元格的值,或者某个区域中的某个单元格的值。它的基本语法是:

    =INDEX(数组, 行号, 列号)
    
    • 1

    MATCH 函数

    MATCH 函数搜索指定项在数组中的位置。它的基本语法是:

    =MATCH(查找值, 查找数组, 匹配类型)
    
    • 1

    SUMIFS 函数

    SUMIFS 函数可以根据一个或多个条件对范围的值求和。它的基本语法是:

    =SUMIFS(求和范围, 条件范围1, 条件1, 条件范围2, 条件2, ...)
    
    • 1

    动态数组

    在最新版本的Excel中,不需要使用Ctrl + Shift + Enter来创建数组公式,因为它支持动态数组。只需输入公式并按Enter即可。

    注意事项

    • 确保在使用公式时正确引用了工作表名和单元格范围。
    • 在使用MATCH函数时,如果数组中没有找到查找值,将返回错误。
    • SUMIFS函数在有多条相同条件的记录时能返回正确的总和,这适用于求和而非单一值的匹配。
  • 相关阅读:
    网络编程及三大协议(TCP + UDP + Http)
    Kamiya丨Kamiya艾美捷小鼠BDNF ELISA原理分析
    第6/100天 阅读笔记
    如何将数据库迁移到 Amazon Aurora
    Java:实现两个数字的LCM最小公倍数算法(附完整源码)
    java中同步和异步简介及应用场景
    PMP每日一练 | 考试不迷路-9.16(包含敏捷+多选)
    直接用的zip包 缺少很多依赖,pip没有,感觉用anaconda create一个环境会方便点
    基于PCA(主成分分析法)对信用评分卡反欺诈案例 代码+数据
    一文带你了解Spring中的事务管理
  • 原文地址:https://blog.csdn.net/hmywillstronger/article/details/136437731