如何将过滤后的范围传递给 Excel 中的其他函数?
How to pass a filtered range to other functions in Excel?
假设我想找出每天的平均通话次数。通常,我可以对下面的 table 使用公式 =COUNT(A2:A15)/SUM(1/(COUNTIF(A2:A15,A2:A15)))
,但是如果我想找到特定人(例如 George)的平均值,我将如何通过上述公式中的过滤范围?
我曾尝试使用 =FILTER(A2:A15,B2:B15="George")
,但这会出错,因为根据我的理解,=COUNT()
接受范围,而不是数组,=FILTER()
returns。
Call Date
Rep Name
2022-01-02
George
2022-01-02
George
2022-01-02
Katie
2022-01-04
Craig
2022-01-04
George
2022-01-05
George
2022-01-05
Craig
2022-01-05
George
2022-01-05
George
2022-01-09
Katie
2022-01-14
George
2022-01-14
George
2022-01-15
Katie
2022-01-15
George
您可以使用 LET-Formula 重建单个步骤:
=LET(dataUnique,UNIQUE(tblData[Call Date]),
countPerDate,COUNTIFS(tblData[Call Date],dataUnique,tblData[Rep Name],RepName),
AVERAGE(FILTER(countPerDate,countPerDate<>0)))
我正在使用名为 tblData
的 table。此外,公式引用 F3
命名为 RepName
.
你可以试试:
E1
中的公式:
=AVERAGE(BYROW(UNIQUE(FILTER(A2:A15,B2:B15=D1)),LAMBDA(a,COUNTIFS(A2:A15,a,B2:B15,D1))))
请注意,从分析的角度来看,当 George 的调用次数为零时,忽略第 9 个可能感觉很奇怪。如果你想把这个包括在你的平均值中,将上面的更改为:
=AVERAGE(BYROW(UNIQUE(A2:A15),LAMBDA(a,COUNTIFS(A2:A15,a,B2:B15,D1))))
假设我想找出每天的平均通话次数。通常,我可以对下面的 table 使用公式 =COUNT(A2:A15)/SUM(1/(COUNTIF(A2:A15,A2:A15)))
,但是如果我想找到特定人(例如 George)的平均值,我将如何通过上述公式中的过滤范围?
我曾尝试使用 =FILTER(A2:A15,B2:B15="George")
,但这会出错,因为根据我的理解,=COUNT()
接受范围,而不是数组,=FILTER()
returns。
Call Date | Rep Name |
---|---|
2022-01-02 | George |
2022-01-02 | George |
2022-01-02 | Katie |
2022-01-04 | Craig |
2022-01-04 | George |
2022-01-05 | George |
2022-01-05 | Craig |
2022-01-05 | George |
2022-01-05 | George |
2022-01-09 | Katie |
2022-01-14 | George |
2022-01-14 | George |
2022-01-15 | Katie |
2022-01-15 | George |
您可以使用 LET-Formula 重建单个步骤:
=LET(dataUnique,UNIQUE(tblData[Call Date]),
countPerDate,COUNTIFS(tblData[Call Date],dataUnique,tblData[Rep Name],RepName),
AVERAGE(FILTER(countPerDate,countPerDate<>0)))
我正在使用名为 tblData
的 table。此外,公式引用 F3
命名为 RepName
.
你可以试试:
E1
中的公式:
=AVERAGE(BYROW(UNIQUE(FILTER(A2:A15,B2:B15=D1)),LAMBDA(a,COUNTIFS(A2:A15,a,B2:B15,D1))))
请注意,从分析的角度来看,当 George 的调用次数为零时,忽略第 9 个可能感觉很奇怪。如果你想把这个包括在你的平均值中,将上面的更改为:
=AVERAGE(BYROW(UNIQUE(A2:A15),LAMBDA(a,COUNTIFS(A2:A15,a,B2:B15,D1))))