我有以下Excel电子表格(简体)
此电子表格每月由许多合作者共享(每个部门一个,每个部门允许其所属部门插入新行,出售的商品以及数量。
在此配置中,“ A”列(DEPT)包含一些空白,我的用户无法用部门值填充
。我想执行SUMIFS来确定例如已售出多少ITEM_A
我已经尝试过
=SUMIFS(C1:C8;A1:A8;"DEPT_A";B1:B8;"ITEM_A")
但是,由于空白,这是行不通的。电子表格包含很多行,我什至无法想到手动填充空白。我尝试了一些公式来执行此操作(“如果单元格为空,则使用高于值的值),但是,正如我所说,当用户插入新行时,该公式不适用。
是否有一种方法可以告诉Excel使用,如果为空白,则为该列中的上限值?
答案 0 :(得分:1)
这是您可以使用的公式:
H2
中的公式:
=SUMIF(INDEX(B:B,MATCH(F2,A:A,0)):INDEX(B:B,IF(MATCH(F2,A:A,0)=LARGE((ISTEXT(A1:A9))*ROW(A1:A9),1),COUNTA(B:B),SMALL(IF(INDEX(A:A,MATCH(F2,A:A,0)+1):A9<>"",ROW(INDEX(A:A,MATCH(F2,A:A,0)+1):A9),""),1)-1)),G2,INDEX(C:C,MATCH(F2,A:A,0)):INDEX(C:C,IF(MATCH(F2,A:A,0)=LARGE((ISTEXT(A1:A9))*ROW(A1:A9),1),COUNTA(B:B),SMALL(IF(INDEX(A:A,MATCH(F2,A:A,0)+1):A9<>"",ROW(INDEX(A:A,MATCH(F2,A:A,0)+1):A9),""),1)-1)))
这是一个数组公式,应通过 Ctrl + Shift + Enter
进行确认这是一场艰苦的斗争:S ....
您可以,如果要在人们开始添加行等时使其更加动态。将所有A9引用交换为INDEX(A:A,COUNTA(B:B))