我尝试使用Excel根据多个条件及其在列中的位置提取数据。
所以举个例子。如果我想要SUMIF
来接收与First
类相关联的数字。该公式将检索指定行中的数字
但是如果我想要检索与England
相关联的数字。该公式将包含多个条件,以查找First
类,然后查找国家/地区England
并检索指定列中其行的数字。
这些列每个月都会增长和缩小。意思是我需要它有点动态。
我尝试使用SUMIF
和SUMIFS
做到这一点,但没有运气。
=SUMIFS(D2:D10,A2:A10,"First",B2:B10,"England")
答案 0 :(得分:0)
您面临的挑战是,在A,B和C列中,值不会向下重复到现在的空白单元格中。因此,值不会在同一行中彼此相邻。
假设您给出的示例非常简单,并且您还可以为给定的类和国家/地区设置多个国际产品,我会采用以下解决方案:
保留两列(E和F)进行中间计算。如果它们当前使用,请将这些使用的列向右移动,为空的E和F列腾出空间。当然,您也可以为此选择另外两列。但我会假设他们是E和F.
然后在E2中放入此公式,并根据需要将其进一步复制到E列。
=IF(A2<>"", A2, OFFSET(E2,-1,0))
在F2中放入此公式并将其复制下来:
=IF(B2<>"", B2, IF(A2<>"", "", OFFSET(F2,-1,0)))
这应该给出以下显示(E1和F1中的标题标题仅为装饰性的):
现在,您可以结合C列对这些列执行公式。例如:
=SUMIFS(D2:D10, E2:E10,"First", F2:F10,"England", C2:C10,"")
这将输出2.请注意,如果您真的只想匹配一行,则应为每列(E,F和C)指定条件。
由于使用OFFSET
,E和F列中的中间公式对行的删除非常有抵抗力。如果插入行,当然应确保将E和F中的公式复制到其中。
如果您将使用超过3列的源数据,您还需要添加更多具有类似公式的中间列。此外,您的SUMIFS
还需要额外的条件。
答案 1 :(得分:0)