公式给出满足 VLOOKUP 中条件的 3 个最大值旁边的单元格的值

Formula to give the value of the cell next to the 3 largest values that meet a criteria in VLOOKUP

我正在创建一个电子表格,它使用 VLOOKUP 根据下拉框提供一组数据。

这是一个相当大的列表(屏幕截图并未显示),数据是定期添加新行的 table 的一部分。因此,在查看范围时,它需要采用 "TABLE1[COLUMN1]" 的格式,而不是 "A1:A15" 例如。

基本上我是在 3 个单独的单元格之后显示符合条件的 3 个最高值旁边的单元格。例如,在下面的屏幕截图中,A17 = AAA。因此,我希望单元格 C17 显示最高值旁边的值,其中 TABLE1[COLUMN1] = "AAA"。在此示例中,单元格 C17:C19 将分别显示 "WWW"、"XXX" 和 "VVV"。

我不确定我解释得如何,因为我对 excel 还很陌生。因此,如果您需要任何进一步的信息,请随时告诉我!

谢谢:)

使用新的动态数组公式:

=INDEX(INDEX(SORT(FILTER(Table1,Table1[COLUMN1]=F1),2,-1),0,3),{1;2;3})

将它放在第一个单元格中,Excel 将把它填满。

排序中的

,2,指的是相对于table中的第2列。将其更改为 table 中包含数字的列号。 ,3 指的是 return 的相对列,在我的例子中是第三列。


如果没有动态数组公式,需要将其放在第一个单元格中并向下复制:

=INDEX(C:C,AGGREGATE(15,7,ROW(Table1[COLUMN2])/((Table1[COLUMN2]=AGGREGATE(14,7,Table1[COLUMN2]/(Table1[COLUMN1]=$F),ROW(1:1)))*(Table1[COLUMN1]=$F)),1))

这是我使用的方式,

=INDEX($E:$E,INDEX(MATCH($G&LARGE(($C:$C=$G)*$D:$D,ROW(A1)),$C:$C&$D:$D,0),0))