Re: [算表] 在陣列中回傳最後一筆相同序號的位置

看板Office作者 (windknife18)時間3周前 (2024/08/26 21:51), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串4/4 (看更多)
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))))) : 但這樣做似乎會有問題, : 若是匡列範圍有兩筆以上相同的序號, : 就會變成去搜尋最近似的序號而不是相同的, : 因為發出紀錄橫向數列是確定每天不會重複(同一天所發出的序號不會重複) : 請求大神賜教 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 1.34.58.193 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/Office/M.1724680282.A.48D.html
文章代碼(AID): #1cp8XQID (Office)
文章代碼(AID): #1cp8XQID (Office)