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