我试图写一个公式,我可以让它在部分工作,但不是全部。我想我可能需要一个数组公式,我没有经验。
公式应该从工作表" 2017"中提取数据。我希望它对位于R列中的任何数字求和。该行的F或G列中的值为" Name"并且N列中的日期是1月份。
答案 0 :(得分:1)
当查看两个不同的范围时,SUMIFS()不喜欢OR,因此您需要使用SUMPRODUCT并将范围限制为仅数据集:
=SUMPRODUCT(R1:R100,((G1:G100 = "Name")+(F1:F100="Name")>0)*(MONTH(N1:N100) = 1))
根据您的意见,您的公式应为:
=SUMPRODUCT('2017'!R1:R100,(('2017'!G1:G100 = "Allison Jones")+('2017'!F1:F100="Allison Jones")>0)*(MONTH('2017'!N1:N100) = 1))
避免使用完整的列引用,因为这是一个数组类型公式,它会减慢计算速度。
答案 1 :(得分:0)
我在第一次尝试时严重误读了Q.我应该建议的是:
=SUMIFS(R:R,F:F,"Name",N:N,">=42736",N:N,"<42767")+SUMIFS(R:R,G:G,"Name",N:N,">=42736",N:N,"<42767")-SUMIFS(R:R,F:F,"Name",G:G,"Name",N:N,">=42736",N:N,"<42767")
不优雅但仅使用SUMIFS函数通过添加&#34; F&#34;的所有情况来获得结果。标准适用于&#34; G&#34;标准适用并减去两个&#34; F&#34;和&#34; G&#34;标准适用。
42736
和42767
是2017年1月初和2017年2月开始的1900年日期系统中的序列号。&#39;或等于&#39;是为了允许列N可能包含时间。