Excel 2007:跨多个工作表、多行的 AVERAGEIF、SUMIF、COUNTIF、MAXIF、MINIF

问题描述 投票:0回答:2

朋友们,美好的一天。

我花了三天三夜的时间试图解决这个公式,可惜我束手无策。 我有一本有 13 页的工作簿,一月:十二月,还有一本名为“贸易统计”。一月:十二月都有相同的列,但数据值不同。我需要能够对 Average、Sum、Count、Min 和 Max 函数执行“IF”函数。据我了解,“IF”函数不能直接在多个电子表格中工作。我尝试过使用间接公式的名称范围,但是当使用“N”时,它只返回第一行的结果,无论我是否指定单元格范围。我使用这些函数来确定大量统计数据,因此我需要能够暗示 <0 and >0 作为条件。请参阅附图。我读过其他主题,但似乎没有一个主题与我在这里想要完成的任务完全匹配,而且我也不是 Excel 专家。

(Trade Statistics Screen Shot)

更具体地说,我需要能够转换以下公式以跨多个工作表和行工作(以正确识别 YEARLY 中的值,如图所示):

=AVERAGEIF(January!$M$5:$M$100,">0",January!$M$5:$M$100)
=AVERAGEIF(January!$M$5:$M$100,"<0",January!$M$5:$M$100)
=SUM(IF(January!$N$5:$N$100>0,January!$N$5:$N$100))
=SUM(IF(January!$N$5:$N$100<0,January!$N$5:$N$100))
=COUNTIF(January!$M$5:$M$100,">0")/COUNT(January!$M$5:$M$100)
=COUNTIF(January!$M$5:$M$100,"<0")/COUNT(January!$M$5:$M$100)
=MIN(IF(January!$M$5:$M$100>0,January!$M$5:$M$100))
=MAX(IF(January!$M$5:$M$100<0,January!$M$5:$M$100))

我非常感谢并期待任何我(希望)尚未尝试过的可能解决方案。这是在 Excel 2007 中完成的,因此我仅限于其功能。

excel function pivot formula array-formulas
2个回答

0
投票

前四:

=AVERAGE(AVERAGEIF(INDIRECT(Sheets!$A$1:$A$12&"!M5:M100"),">0"))
=AVERAGE(AVERAGEIF(INDIRECT(Sheets!$A$1:$A$12&"!M5:M100"),"<0"))
=SUM(SUMIF(INDIRECT(Sheets!$A$1:$A$12&"!N5:N100"),">0"))
=SUM(SUMIF(INDIRECT(Sheets!$A$1:$A$12&"!N5:N100"),"<0"))

接下来的两个(如果您期望一年的总价值):

=SUM(COUNTIF(INDIRECT(Sheets!$A$1:$A$12&"!M5:M100"),">0"))/SUM(COUNTIF(INDIRECT(Sheets!$A$1:$A$12&"!M5:M100"),"<>"))
=SUM(COUNTIF(INDIRECT(Sheets!$A$1:$A$12&"!M5:M100"),"<0"))/SUM(COUNTIF(INDIRECT(Sheets!$A$1:$A$12&"!M5:M100"),"<>"))

条件

"<>"
表示任何非空单元格。如果您只想计算数字,您应该使用
">-1E10"
和一个适当大的负数(取决于您使用的值)。 必要时使用
Ctrl+Shift+Enter
,或使用
SUMPRODUCT
代替
SUM

我得考虑接下来的事情了。

© www.soinside.com 2019 - 2024. All rights reserved.