Note: The other languages of the website are Google-translated. Back to English

如何在Excel中基于列和行条件求和? 

我有一系列包含行标题和列标题的数据,现在,我想对满足列标题和行标题条件的单元格求和。 例如,如下面的屏幕快照所示,求和将列条件为Tom且行条件为Feb的单元格相加。 本文,我将讨论一些有用的公式来解决它。

doc sum列行标准1

基于列和行条件以及公式的求和单元格


箭头蓝色右气泡 基于列和行条件以及公式的求和单元格

在这里,您可以根据列和行条件应用以下公式对单元格求和,请这样做:

在要输出结果的空白单元格中输入以下任一公式:

=SUMPRODUCT((A2:A7="Tom")*(B1:J1="Feb")*(B2:J7))

=SUM(IF(B1:J1="Feb",IF(A2:A7="Tom",B2:J7)))

然后按 Shift + Ctrl + 输入 键一起获得结果,请参见屏幕截图:

doc sum列行标准2

备注:在以上公式中: Tom二月 是基于的列和行条件, A2:A7, B1:J1 列标题和行标题包含条件, B2:J7 是您要求和的数据范围。


最佳办公效率工具

Kutools for Excel解决了您的大多数问题,并使您的生产率提高了80%

  • 重用: 快速插入 复杂的公式,图表 以及您以前使用过的任何东西; 加密单元 带密码 创建邮件列表 并发送电子邮件...
  • 超级公式栏 (轻松编辑多行文本和公式); 阅读版式 (轻松读取和编辑大量单元格); 粘贴到过滤范围...
  • 合并单元格/行/列 不会丢失数据; 拆分单元格内容; 合并重复的行/列...防止细胞重复; 比较范围...
  • 选择重复或唯一 行; 选择空白行 (所有单元格都是空的); 超级查找和模糊查找 在许多工作簿中; 随机选择...
  • 确切的副本 多个单元格,无需更改公式参考; 自动创建参考 到多张纸; 插入项目符号,复选框等...
  • 提取文字,添加文本,按位置删除, 删除空间; 创建和打印分页小计; 在单元格内容和注释之间转换...
  • 超级滤镜 (将过滤方案保存并应用于其他工作表); 高级排序 按月/周/日,频率及更多; 特殊过滤器 用粗体,斜体...
  • 结合工作簿和工作表; 根据关键列合并表; 将数据分割成多个工作表; 批量转换xls,xlsx和PDF...
  • 超过300种强大功能. 支持 Office / Excel 2007-2021 和 365。支持所有语言。 在您的企业或组织中轻松部署。 完整功能 30 天免费试用。 60 天退款保证。
kte选项卡201905

Office选项卡为Office带来了选项卡式界面,使您的工作更加轻松

  • 在Word,Excel,PowerPoint中启用选项卡式编辑和阅读,发布者,Access,Visio和Project。
  • 在同一窗口的新选项卡中而不是在新窗口中打开并创建多个文档。
  • 每天将您的工作效率提高50%,并减少数百次鼠标单击!
officetab底部
按评论排序
注释 (16)
还没有评分。 成为第一位评论!
该评论由网站上的主持人最小化
太棒了,这就是我要找的那个。 谢谢您的帮助
该评论由网站上的主持人最小化
值得指出的是,在上面提供的两个公式中,您不需要使用 Ctrl + Shift + Enter 输入 SUMPRODUCT 公式。 没有它它会很好地工作。
该评论由网站上的主持人最小化
辉煌
该评论由网站上的主持人最小化
如果您想将 XNUMX 月和 XNUMX 月相加,您将如何使用相同的公式? 请帮忙! 谢谢

=SUMPRODUCT((A2:A7="Tom")*(B1:J1="Feb")*(B2:J7))
该评论由网站上的主持人最小化
你好,安吉拉,
要解决您的问题,您只需要应用以下公式,请尝试一下。

=SUMPRODUCT((A2:A7="Tom")*((B1:J1="Feb")+(B1:J1="Mar"))*(B2:J7)).

希望能帮到你!
该评论由网站上的主持人最小化
有没有办法使用通配符进行这项工作? 我想在以某些字符开头的所有内容上使用它,但最后使用(固定数量的)未定义字符,即 =SUM(IF(B1:J1="Fe*",IF(A2:A7="至*",B2:J7)))
该评论由网站上的主持人最小化
如果有人有同样的问题,我就是这样解决的(在 Google 表格中,未在 Excel 中测试):

=ArrayFormula(SUM(IF(regexmatch(O5:W5,"^Fe."),IF(regexmatch(N6:N11,"^To."),O6:W11))))

请注意,IF 函数不支持通配符,对于 regexmatch,通配符不同,可以在此处找到: https://github.com/google/re2/blob/master/doc/syntax.txt
在这个特定的例子中,我使用 ^ 表示 Fe 和 Tom 出现在文本的开头,而 . 允许任何后续字符(* 表示前一个字符的零个或多个,例如 Fe* 只会查找 F 后有 1 个或多个“e”的实例)
该评论由网站上的主持人最小化
非常感谢! 你让我今天一整天都感觉很好!! @TeSageDS
该评论由网站上的主持人最小化
我试图创建一个公式来计算 D12 是否为空白,它将从 K12 计算到 AH12 但似乎这部分 'regexmatch(D12,"")' 不起作用
ArrayFormula(SUM(IF(正则表达式(D12,""),K12:AH12)))
该评论由网站上的主持人最小化
在上面的示例中,如果我想计算 Tom Ruby & Nicol 在 XNUMX 月份所赚取的金额的总和,我应该使用哪个公式?
该评论由网站上的主持人最小化
您好,Nabar,要获得您想要的结果,请应用以下公式:=SUMPRODUCT(((A2:A7="Tom")+(A2:A7="Nicol")+(A2:A7="Ruby"))*(B1:J1="Mar")*(B2:J7))
请尝试,希望对您有所帮助!
该评论由网站上的主持人最小化
你好天阳,
谢谢您的答复。 我尝试了您建议的公式,但我没有得到正确的答案。 可能我无法正确提出我的查询。 让我再试一次,我有一个包含每日计算数据的电子表格,我将第一行编号为 1,2,3,4.....132。 第 2、第 3、第 4 和第 5 行有表格标题。 第一列从第 1 行开始有编号为 2,3、3005、6、.....6 的行号,范围 B3005:EF6 每天填写数据。 在第二张表中,我有一个表格,我想在其中应用一个公式,该公式将查找两个不同行中的两个行号,并从数据电子表格中的 B3005: EF15 范围内计算总和,该数据电子表格来自某个列的两个行号即行(行号)50 和 85 之间的第 XNUMX 列中的值的总和。
该评论由网站上的主持人最小化
有没有办法做到这一点,但不是在公式中写“Tom”和“Feb”,而是可以引用标准单元格,例如 A11 和 A12?
该评论由网站上的主持人最小化
你好,Rianna,是的,正如你所说,你可以使用单元格引用来替换公式中的文本,例如:
=SUMPRODUCT((A2:A7=A2)*(B1:J1=C1)*(B2:J7))
=SUM(IF(B1:J1=C1,IF(A2:A7=A2,B2:J7)))
该评论由网站上的主持人最小化
如果矩阵中有负数,而您只想包含正数,您会怎么做? 
我试图做这样的事情:

=SUMPRODUCT((Column = Criteria)* ( Row = Criteria) * (第二列 = Criteria) * (Matrix) * (Matrix >0))

该评论由网站上的主持人最小化
我要检索的数据在表中。 这会影响结果吗? 我有:

=SUM(IF('[Primary Controller Active Project Database (KC notes)1.xlsx]Active Project Tracking'!$B2:$B66=X2,IF('[Primary Controller Active Project Database (KC notes)1.xlsx]活动项目跟踪'!$A1:$AV1=AH10,'[主控制器活动项目数据库(KC注释)1.xlsx]活动项目跟踪'!$H$2:$AV$66)))

所以我认为如果你在上面做了你的信息,但在不同工作簿的表格中,那是等价的。 想法?
这里还没有评论
请用英文发表您的意见
以访客身份发帖
×
评价此帖子:
0   产品特性
建议地点

关注我们

版权所有 © 2009 - extendoffice.com。 | 版权所有。 供电 ExtendOffice。 | 网站地图
Microsoft和Office徽标是Microsoft Corporation在美国和/或其他国家的商标或注册商标。
受Sectigo SSL保护