基于多行中多个单元格的匹配条件返回值加上 Google 工作表中另一个 Table 的排名

Returning Values Based on Matching Criteria of Multiple Cells in Multiple Rows plus Rank from another Table in Google Sheets

如何根据匹配标准(ColA - 日期和 ColB - 客户)和排序顺序(MasterItemRanking 选项卡 ColA)对不同的单元格(ColD - Master)return 不同的值(Y 或 N) Google Sheets?

https://docs.google.com/spreadsheets/d/1Yar31N__3jkHH3y6qn_XZ0cvkEg-gG0ALeT0FF8qEQE/edit?usp=sharing

在Sheet"MasterItemRanking"ColA上,ColA中的值越低,排名越高。 #1 的排名优于 #2 或 #5 等的排名(这意味着 ColB 项目应该 returned 为 "Y" 在其他任何项目之前)。

我在Cold中尝试过各种表达方式,至今都惨遭失败。想法?谢谢

这是一个复杂的答案,但似乎这个公式有效。 =arrayformula(if(A2="",iferror(if(C2=vlookup(MIN(if(countA(vlookup(filter(C$2:C$10,A$2:A$10=A2,B$2:B$10=B2 ),{MasterItemRanking!B:B,MasterItemRanking!A:A},2,false))=1,"N",vlookup(filter(C$2:C$10,A$2:A$10=A2,B$2 :B$10=B2),{MasterItemRanking!B:B,MasterItemRanking!A:A},2,false))),MasterItemRanking!A:B,2,false),"Y","N" ),"N")))

我将其放入您的 sheet 中,它似乎有道理,但如果有任何遗漏,请告诉我。它基本上只过滤该行数据的 table 以查看是否有多个项目具有相同的日期和人员。然后它对每个项目的排名进行 return 的 vlookup。然后它获取最小值排名并根据该行中的项目检查该值。例如,如果它 return 排名第一,那么它会检查该行项目以查看它是否也排名第一。它为每一行执行此操作。这是一个非常令人费解的答案大声笑,很难解释这个。