您如何求和多个组的单个最大值?

时间:2019-12-12 13:49:01

标签: excel excel-formula sum max

我有一个数据表,其中除其他外,包含一个值列表,每个值都分配有一个组ID。

我想对每个组的最大值求和。

我可以通过使用一个辅助表(带有MAXIFS)轻松地做到这一点,如下所示。但是,由于各种原因,我想避免使用任何辅助列/表,并从单个非CSE公式生成结果。

enter image description here

这怎么办?

4 个答案:

答案 0 :(得分:7)

动态数组功能

如果,您可以使用新的动态数组函数,@ MichaelWycisk具有更简单的解决方案(https://stackoverflow.com/a/59306217/1473412

可惜我没有。


SUMPRODUCT

我设法使用SUMPRODUCT来做到这一点:

=SUMPRODUCT(
    (
        $B$3:$B$14
        *
        ($B$3:$B$14=MAXIFS($B$3:$B$14,$A$3:$A$14,$A$3:$A$14))
    )
    /
    COUNTIFS($B$3:$B$14,MAXIFS($B$3:$B$14,$A$3:$A$14,$A$3:$A$14),$A$3:$A$14,$A$3:$A$14)
)

enter image description here

其工作方式是将值乘以该值是否为组的最大值。
然后将其除以该组最大值的值计数。

答案 1 :(得分:4)

我知道您不想拥有数组公式。但是,如果您对新的动态数组没问题(不需要CONTROL + SHIFT + ENTER),则可以使用以下公式:

=SUM(MAXIFS(B3:B14,A3:A14,UNIQUE(A3:A14)))

当然,只有在您已经可以使用UNIQUE函数的情况下,此方法才起作用。

答案 2 :(得分:4)

您也可以尝试以下方法:

= SUMPRODUCT( 
 MAXIFS( $B$2:$B$14, $A$2:$A$14, $A$2:$A$14 )
 / COUNTIFS( $A$2:$A$14, $A$2:$A$14 ) )

说明: (现在由我以前旅行时提供)。

MAXIFS:返回每个组的MAX值。
COUNTIFS:返回每个组的计数。
SUMPRODUCT:返回每个组的Max值除以Count所得的和。

enter image description here

答案 3 :(得分:1)

尝试一下:

from selenium import webdriver

driver = webdriver.Firefox()

driver.get('https://www.startpage.com/en/')

driver.find_element_by_xpath('//*[@id="query"]').send_keys('Example')

driver.find_element_by_xpath('/html/body/div[1]/main/div[1]/section/div[1]/div[1]/form/button[2]/span[2]').click()

driver.find_element_by_xpath('/html/body/div[2]/div/div[2]/div[1]/div[2]/div[1]/div/section[5]/div[1]/a/h3').click()

enter image description here