Re: [算表] 在阵列中回传最后一笔相同序号的位置

楼主: windknife18 (windknife18)   2024-08-26 21:51:20
Google Sheet 的公式蛮难用的说,试看看
F2
=byrow(filter(A2:D100,A2:A100<>""),lambda(r,iferror(lookup("龘",
tocol(hstack("",arrayformula(if(('发放纪录'!$C$2:$Z$100=index(r,1))*
('发放纪录'!$A$2:$A$100<index(r,4)),'发放纪录'!$B$2:$B$100,NA()))),3)),"")))
※ 引述《Modeler (♥ε ♥)》之铭言:
: ※ 引述《windknife18 (windknife18)》之铭言:
: : F2
: : =map(filter(A2:A1000,A2:A1000<>""),lambda(x,lookup("龘",
: : tocol(arrayformula(if('发放纪录'!C2:Z1000=x,'发放纪录'!B2:B1000,NA())),3))))
: 感谢大神的回应,
: 但是这样并无法得到我所需要的回传,
: 例如在F9回传时,因为所借出日期为7/23,
: 但发出日期有5/31和8/12,
: 回传须为5/31这笔也就是回传结果为石原聪美,
: 所以在匡列筛选范围我会加上时间条件,
: 以下是我的想法:
: 以A栏的序号在'发放纪录'!C:ZZ去筛选出早于D栏日期的最后一笔相同序号所在的列号
: 然后就能以INDEX去回传所对应列号的人员,
: F2
: =INDEX('发放纪录'!$B:$B,SUMPRODUCT((INDIRECT("'发放纪录'!$C1:$K"&MATCH($D2,
: '发放纪录'!$A:$A))=SMALL(INDIRECT("'发放纪录'!$C1:$K"&MATCH($D2,'发放纪录
: '!$A:$A)),COUNTIF(INDIRECT("'发放纪录'!$C1:$K"&MATCH($D2,'发放纪录
: '!$A:$A)),A2)))*ROW(INDIRECT("'发放纪录'!$C1:$K"&MATCH($D2,'发放纪录
: '!$A:$A)))))
: 但这样做似乎会有问题,
: 若是匡列范围有两笔以上相同的序号,
: 就会变成去搜寻最近似的序号而不是相同的,
: 因为发出纪录横向数列是确定每天不会重复(同一天所发出的序号不会重复)
: 请求大神赐教

Links booklink

Contact Us: admin [ a t ] ucptt.com