有两个输入:A1
和B1
。
在D栏中,有许多类型的对象A. 在B列中,有许多类型的对象B.
这是公式应该做的事情:
如果(D2是' A1' G2是' B1')那么,如果(E2大于F2),则减去E2和F2(在本例中为5-4),否则将F2减去E2(如第12行所示)
如果没有匹配,请不要做任何事情,只是跳过这一行。
我想这样做一个数组公式( Ctrl + Shift + Enter ),所以最后总结一切
在这个例子中,输出为-1,因为sum(和(5-4)(2-4))。
到目前为止,我有以下内容:
{=SUM(IF((D2:D12="A1")+(G2:G12="B1");E2:E12-F2:F12;0))}
但它不能正常工作,因为我不确定Excel如何读取减法部分。我希望能够减去找到组合的行的值。
答案 0 :(得分:0)
如果您只需要为所有匹配减去列F的列E,请考虑以下数组公式:
=SUM((D2:D12=$B$2)*(G2:G12=$B$3)*(E2:E12-F2:F12))
(如果需要,可以通过额外检查减去什么来更新)
这将SUM
包含与您的输入匹配的所有减法(列E) - (列F)。
以下是细分:
D2:D12=$B$2
和G2:G12=$B$3
将生成包含1'匹配的数组和0&f;用于不匹配的数组:
{A1,A2,A3, -,A1, -, -,A4,A5,A1,A1} {B1, -,B1, -,B4, -, -,B6,B5,B2,B1}
V V V V V V V
{1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 1 } {1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1 }
E2:E12-F2:F12
将导致第3个数组包含减去的值:
{5, 5, 3, 1, 3, 3, 7, 3, 9, 7, 4}
-{4, 3, 4, 5, 6, 5, 9, 6, 7, 8, 2}
={1, 2,-1,-4,-3,-2,-2,-3, 2,-1, 2}
将所有这些相乘会产生如下结果:
{1, 0, 0, 0, 1, 0, 0, 0, 0, 1, 1}
x{1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1}
x{1, 2,-1,-4,-3,-2,-2,-3, 2,-1, 2}
={1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2}
然后当然SUM
会做它的工作:
SUM({1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2}) = 3
答案 1 :(得分:0)
如果我理解你的要求是正确的,那么你的答案就是:
=SUM((D2:D12="A1")*(G2:G12="B1")*ABS(E2:E12-F2:F12))
请记住,TRUE
到Excel与nubmer 1相同,FALSE
为0。
因此,如果我的公式中有任何D或G列不匹配的行将乘以0。
你对E和F列的规则听起来也像我一样 从较大的数字中减去较小的数字 这与:
相同|4-5|=1
或者在Excel公式表示法中:
ABS(4-5)