我有一个数据表,其中除其他外,包含一个值列表,每个值都分配有一个组ID。
我想对每个组的最大值求和。
我可以通过使用一个辅助表(带有MAXIFS)轻松地做到这一点,如下所示。但是,由于各种原因,我想避免使用任何辅助列/表,并从单个非CSE公式生成结果。
这怎么办?
答案 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)
)
其工作方式是将值乘以该值是否为组的最大值。
然后将其除以该组最大值的值计数。
答案 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
所得的和。
答案 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()