使用带有许多重复“ID”的VLOOKUP查找MAX值

时间:2017-12-21 04:22:01

标签: excel if-statement excel-formula max vlookup

使用Excel公式,我试图为其旁边有一个字母的NAME拉取MAX值。

例如:最高#,针对每个唯一名称的特定

所以杰夫的Q值是7。

(我试图解释,因为它在我的脑海里有意义,但对其他人来说可能没有意义..)

Name    %   #
Jeff    O   4
Jeff    D   3
Jeff    Q   4
Jeff    O   1
Jeff    D   9
Jeff    Q   7
Tom     O   6
Tom     D   7
Tom     Q   8
Tom     O   2
Tom     D   8
Tom     Q   3
Peter   O   3
Peter   D   8
Peter   Q   7
Peter   O   4
Peter   D   10
Peter   Q   3
Bob     O   2
Bob     D   6
Bob     Q   10
Bob     O   6
Bob     D   10
Bob     Q   9
Mark    O   4
Mark    D   7
Mark    Q   4
Mark    O   7
Mark    D   8
Mark    Q   1

如果没有为每个人提供专用工作表并在特定列上运行MAX,我想不出一种方法来运行它。

我在各种配置中尝试过IF,VLOOKUP和MAX,但我什么都没得到。

有没有人有这方面的经验,请指点我正确的方向?

1 个答案:

答案 0 :(得分:2)

;WITH test_data AS ( SELECT tbl.* FROM (VALUES ( 1, 'A', 7.00, '21-Dec-2017') , ( 2, 'A', 5.00, '21-Dec-2017') , ( 3, 'A', 6.00, '20-Dec-2017') , ( 4, 'B', 1.00, '21-Dec-2017') ) tbl ([ID], [Name], [Value], [TimeStamp]) ) , test_data_order AS ( SELECT [ID] , [Name] , [Value] , [TimeStamp] , EX_ROW_NUMBER = ROW_NUMBER() OVER ( PARTITION BY [Name] ORDER BY [TimeStamp] DESC , [ID] DESC ) FROM test_data ) SELECT * FROM test_data_order WHERE EX_ROW_NUMBER = 1 函数应该是您想要的。例如,假设您在A:C列中有数据公式

MAXIFS

将为您提供C列中的最大数字,其中A行中的值为" Jeff"并且行B中的值是" Q"。