在Excel中查找多个行“组”的最大值

ws51t4hk  于 2023-03-24  发布在  其他
关注(0)|答案(1)|浏览(140)

我试图在不同的行中查找最近的工作日期-原始信息来自透视表。行中的条目数每次都不同,并且有这么多组。我找不到一个公式,我可以向下拖动它并使其工作。我只想一直使用MAX,但数据太多。我只希望公式输出显示在每个“集”的第一行/列上- 结果应在“最近工作日期”栏中。
示例
| 元素|工作日期|最近的工作日期(我需要的输出)|
| - ------|- ------|- ------|
| 2022-02-18|||
| | 2022年2月19日||
| 乔999|2023年3月19日||
| | 2023年3月10日||
| 细胞1|2024-03-12 2024-03-12 2024-03-12||
| | | |
我还放了一张图片,这样可能更有意义
谢谢大家!
Example Image from excel
使用MAX公式不起作用,因为你不能把它拖下来-我不希望输出在每一行,只是在开始。手工做MAX不起作用,因为有太多的数据(没有时间,可以物理地做)
谢谢大家!

7tofc5zh

7tofc5zh1#

取组最大值

=LET(uData,A2:A21,vData,B2:B21,
    s,SCAN("",uData,LAMBDA(sRes,r,IF(r="",sRes,IF(r=sRes,sRes,r)))),
BYROW(uData,LAMBDA(r,IF(r="","",MAX(FILTER(vData,s=r,""))))))

要返回空字符串而不是1900年的日期,可以用途:

=LET(uData,A2:A21,vData,B2:B21,
    s,SCAN("",uData,LAMBDA(sRes,r,IF(r="",sRes,IF(r=sRes,sRes,r)))),
BYROW(uData,LAMBDA(r,LET(
    m,MAX(FILTER(vData,s=r,"")),
IF(r="","",IF(m=0,"",m))))))

相关问题