大家好日子。提前感谢您回答我的问题。 请,我希望并且能够解决这个问题。我搜索了论坛,但没有明确的解决方案。
我有一张带有A,B,C,D和E列的excel表。列A持有日期信息,B持有主队,C持有客队,D持有进球得分,E持有进球得分。以下示例
DATE HOME AWAY FTHG FTAG
23-11-2017 Man City Arsenal 3 2
23-11-2018 Sunderland West Ham 3 2
03-12-2017 Man United Man City 2 2
23-12-2017 Man City Arsenal 1 2
15-02-2018 Sunderland Man City 3 2
20-02-2018 Sunderland Chelsea 3 2
23-02-2018 Brighton Man City 3 2
03-04-2018 Man City Arsenal 3 5
23-03-2018 Everton Burnley 1 1
我想知道曼城与他们相应的对手和比分所进行的最后六场比赛。该公式应返回以下内容
DATE HOME AWAY FTHG FTAG
23-11-2017 Man City Arsenal 3 2
03-12-2017 Man United Man City 2 2
23-12-2017 Man City Arsenal 1 2
15-02-2018 Sunderland Man City 3 2
23-02-2018 Brighton Man City 3 2
03-04-2018 Man City Arsenal 3 5
我设法使用 '=VLOOKUP(LARGE(A:A,1),A:E,1,0) IN CELL(1:7)'
示例
'Cell(1,7)=VLOOKUP(LARGE(A:A,1),A:E,ROW()-1,0)'
'Cell(1,8)=VLOOKUP(LARGE(A:A,2),A:E,ROW()-1,0)'
'Cell(1,9)=VLOOKUP(LARGE(A:A,3),A:E,ROW()-1,0)'
'Cell(1,10)=VLOOKUP(LARGE(A:A,4),A:E,ROW()-1,0)'
'Cell(1,11)=VLOOKUP(LARGE(A:A,5),A:E,ROW()-1,0)'
'Cell(1,12)=VLOOKUP(LARGE(A:A,6),A:E,ROW()-1,0)'
但问题是当它遇到任何人选择相同的日期时,特别是最后一个。有什么帮助吗?
答案 0 :(得分:0)
除非您将 k 参数保留为1,否则您不需要LARGE。您需要的是找到尚未收集的最大值(即日期)。数组公式MAX或LARGE或xl2010的AGGREGATE可以实现此目的。
在G2中使用其中一个:
'array formula with CSE
=MAX(IF(ISNA(MATCH(A$2:A$10, G$1:G1, 0)), A$2:A$10))
=LARGE(IF(ISNA(MATCH(A$2:A$10, G$1:G1, 0)), A$2:A$10), 1)
'standard formula without CSE
=AGGREGATE(14, 6, (A$2:A$10)/(G$1:G1<>A$2:A$10), 1)
获得6个唯一日期后,VLOOKUP可以返回剩余的信息。