我需要与工作表用途中C列中的每个公司代码和B列中的GL帐户相对应的F列中的最高年份,并在工作表IA++的H(公司代码)和I(年份)列中输出+0980。结果需要类似于工作表 IA+++++0980 的 H 列和 I 列中的蓝色字母文本,即对于每个 GL 帐户和每个公司代码,我们需要最高年份
结果需要类似于工作表 IA+++++0980 的 H 列和 I 列中的蓝色字母文本,即对于每个 GL 帐户和每个公司代码,我们需要最高年份
这是一种方法,如果使用
MS365
,则使用GROUPBY()
:
=LET(
_GL_Code, C3:D29,
_F, LAMBDA(a,SCAN("",a,LAMBDA(x,y,IF(y="",x,y)))),
_Data, FILTER(HSTACK(_F(TAKE(_GL_Code,,1)),_F(TAKE(_GL_Code,,-1)),F3:F29),F3:F29<>""),
GROUPBY(TAKE(_Data,,2),--TAKE(_Data,,-1),MAX,,0))
或者,
=LET(
_GL_Code, C3:D29,
_F, LAMBDA(a,SCAN("",a,LAMBDA(x,y,IF(y="",x,y)))),
_Data, FILTER(HSTACK(_F(TAKE(_GL_Code,,1)),_F(TAKE(_GL_Code,,-1)),F3:F29),F3:F29<>""),
_Uniq, UNIQUE(TAKE(_Data,,2)),
_MaxYears, XLOOKUP(TAKE(_Uniq,,1)&"|"&TAKE(_Uniq,,-1),INDEX(_Data,,1)&"|"&INDEX(_Data,,2),TAKE(_Data,,-1),,,-1),
_Answer, HSTACK(_Uniq,_MaxYears),
_Answer)
发布在最后一个答案这里