Excel多测试值提取:求Person1最新日期各测试前3值的平均值
需求与问题解决
核心需求
计算Person 1在最新测试日期下,每个测试项目的前3个最高结果的平均值。
已实现步骤
- 用
LARGE(IF())公式定位Person 1的最新测试日期 - 通过
UNIQUE(FILTER())提取该日期下的所有测试编号
当前问题
尝试用以下公式提取对应结果时返回#VALUE!错误:
=FILTER(E:E,UNIQUE(FILTER(E:E,IF((A:A=H3)*(B:B=LARGE(IF(A:A=H3,B:B),1)),C:C))))
错误原因:内层FILTER错误筛选了结果列(E:E)而非测试编号列(C:C),导致条件匹配的数组维度不兼容,触发计算错误。
解决方案
步骤1:获取Person 1的最新日期
用更简洁的MAXIFS替代LARGE(IF()),结果存入单元格(示例为H3):
=MAXIFS(B:B,A:A,"Person 1")
步骤2:提取该日期下的所有测试编号
=UNIQUE(FILTER(C:C,(A:A="Person 1")*(B:B=H3)))
步骤3:批量计算每个测试的前3结果平均值
使用BYROW+LAMBDA组合,一次性输出所有测试的平均值:
=BYROW( UNIQUE(FILTER(C:C,(A:A="Person 1")*(B:B=H3))), LAMBDA(test_num, AVERAGE( LARGE( FILTER(E:E,(A:A="Person 1")*(B:B=H3)*(C:C=test_num)), {1,2,3} ) ) ) )
该公式会自动遍历每个测试编号,筛选对应结果后取前3个最大值,再计算平均值。
原始数据
| Person | Date | Test | Rep | Result |
|---|---|---|---|---|
| Person 1 | 10/9/2023 | 1 | 5 | 1.06459372 |
| Person 1 | 10/9/2023 | 1 | 4 | 1.11329722 |
| Person 1 | 10/9/2023 | 1 | 3 | 0.91809 |
| Person 1 | 10/9/2023 | 1 | 2 | 0.92332983 |
| Person 1 | 10/9/2023 | 1 | 1 | 0.81854742 |
| Person 1 | 10/9/2023 | 2 | 5 | 0.79415372 |
| Person 1 | 10/9/2023 | 2 | 4 | 0.78722627 |
| Person 1 | 10/9/2023 | 2 | 3 | 0.77623751 |
| Person 1 | 10/9/2023 | 2 | 2 | 0.75960889 |
| Person 1 | 10/9/2023 | 2 | 1 | 0.55552335 |
| Person 1 | 10/9/2023 | 3 | 5 | 1.25761919 |
| Person 1 | 10/9/2023 | 3 | 4 | 1.38660111 |
| Person 1 | 10/9/2023 | 3 | 3 | 1.28825923 |
| Person 1 | 10/9/2023 | 3 | 2 | 1.11500258 |
| Person 1 | 10/9/2023 | 3 | 1 | 0.93898195 |
| Person 1 | 10/9/2023 | 4 | 5 | 1.01453846 |
| Person 1 | 10/9/2023 | 4 | 4 | 1.06929 |
| Person 1 | 10/9/2023 | 4 | 3 | 0.93578771 |
| Person 1 | 10/9/2023 | 4 | 2 | 0.94945872 |
| Person 1 | 10/9/2023 | 4 | 1 | 0.84496289 |
| Person 1 | 10/23/2023 | 1 | 5 | 1.58905785 |
| Person 1 | 10/23/2023 | 1 | 4 | 1.49243315 |
| Person 1 | 10/23/2023 | 1 | 3 | 1.4587432 |
| Person 1 | 10/23/2023 | 1 | 2 | 1.58905785 |
| Person 1 | 10/23/2023 | 1 | 1 | 1.47988413 |
| Person 1 | 10/23/2023 | 2 | 5 | 0.368215 |
| Person 1 | 10/23/2023 | 2 | 4 | 1.66144122 |
| Person 1 | 10/23/2023 | 2 | 3 | 1.3734 |
| Person 1 | 10/23/2023 | 2 | 2 | 1.75722655 |
| Person 1 | 10/23/2023 | 2 | 1 | 1.24049032 |
| Person 2 | 4/29/2024 | 1 | 5 | 1.89406839 |
| Person 2 | 4/29/2024 | 1 | 4 | 1.90691308 |
| Person 2 | 4/29/2024 | 1 | 3 | 1.81291382 |
| Person 2 | 4/29/2024 | 1 | 2 | 1.58922 |
| Person 2 | 4/29/2024 | 1 | 1 | 1.40970617 |
| Person 2 | 4/29/2024 | 2 | 5 | 1.70049909 |
| Person 2 | 4/29/2024 | 2 | 4 | 1.92244355 |
| Person 2 | 4/29/2024 | 2 | 3 | 1.92599629 |
| Person 2 | 4/29/2024 | 2 | 2 | 1.63100333 |
| Person 2 | 4/29/2024 | 2 | 1 | 1.67577882 |
内容的提问来源于stack exchange,提问作者Cra538
相关产品推荐
相关产品推荐

