(Excel)比较两列范围内的两行相邻单元格,找出两行中b/t的最小值,然后对每一行对的结果求和

(Excel)比较两列范围内的两行相邻单元格,找出两行中b/t的最小值,然后对每一行对的结果求和,excel,function,sumproduct,Excel,Function,Sumproduct,我主要检查两个相邻的行单元格,以确定它们之间的最小值,并对两列中的一系列行执行此操作,然后将这些结果添加到单个单元格中。我知道这很简单,只需在第三个作弊列中,在每行的单独单元格中使用公式=MIN(A1,B1),然后对作弊列求和,但我不希望使用额外的作弊列,而是将整个过程包含在单个单元格中的单个公式中(我首先假设这是可能的) 例如: [Category] [Required] [Achieved] AAA 2 2 BBB

我主要检查两个相邻的行单元格,以确定它们之间的最小值,并对两列中的一系列行执行此操作,然后将这些结果添加到单个单元格中。我知道这很简单,只需在第三个作弊列中,在每行的单独单元格中使用公式=MIN(A1,B1),然后对作弊列求和,但我不希望使用额外的作弊列,而是将整个过程包含在单个单元格中的单个公式中(我首先假设这是可能的)

例如:

[Category] [Required] [Achieved] AAA 2 2 BBB 1 9 CCC 2 0 DDD 2 1 [Total Required] [Actually Achieved] 7 4 [类别][必需][达到] AAA2 BBB 19 CCC2 0 DDD 2 1 [所需总数][实际实现] 7 4 很明显,你可以看到,虽然对于“需要的总成绩”我可以简单地将每个值加在“需要的”一栏中,但是对于“实际取得的成绩”我不能简单地将“取得的成绩”一栏中的值加在一起,因为BBB类别中过多的成绩会导致总成绩下降,这会让我看起来好像已经有了获胜所需的剩余成就,因为这不是在每个类别的基础上比较细胞对。在我总结所有类别之前,我基本上需要在每个类别的基础上“扔掉”所有额外的数字,因为所取得的高于所需的成就并不计入总成绩


我尝试过各种方法(SUMIFS、SUMPRODUCT等),但我是Excel新手,对嵌套多个函数和数组在这里的工作方式非常不熟悉。对我来说,这似乎是一件非常简单的事情,但我只是不知道正确的方法。感谢您提供的一切帮助。

SUMPRODUCT是您的最佳选择:

=SUMPRODUCT(((B2:B5>=C2:C5)*(C2:C5))+((B2:B5<C2:C5)*(B2:B5)))

=SUMPRODUCT((B2:B5>=C2:C5)*(C2:C5))+((B2:B5非常感谢您的快速回复!这正是我所需要的,但如果您不介意的话,请您将该公式细分一下,并解释它是如何工作的/为什么工作的?阅读后很明显,我不完全理解SUMPRODUCT函数是如何工作的。您可以通过在“公式”选项卡上计算公式来逐步完成此过程。它将我一步一步地告诉你它是怎么做的。但基本上,它将每列中的值乘以真/假,分别变成1/0,然后将两个数组相加。我明白了,所以它基本上比较(>=)每个单元格对,并为真/假结果创建一个1和0的字符串,将右列中的每个值乘以1(因此保留该值)或0(因此丢弃该值),然后进行另一次比较(这与我最初试图做这件事的思路相同,但后来我转移了注意力,认为我想得太多了,有一种更简单的方法可以用MIN函数来做。@请注意,不是一个字符串,而是一个值数组。除此之外,是的,这是正确的。
*
类似于
+<代码>类似于<代码>或。此外,如果回答了这个问题,请通过单击复选标记来正确地标记标记。