Excel:在具有重复值的单元格中,按升序查找数值

几乎是新的一年。 我已经说过一个Excel问题了。

在工作表“锻炼”,我有一个“WorkoutsSummary”表,其中包含以下信息:

Excel表格

正如你所看到的,有两个单元包含锻炼“战神”(这只是训练课程的名称),但是,在表列标题“锻炼顺序”(第二列)中,它们具有不同的值。 在表格中, 除了 “锻炼顺序”列(对于每行都是唯一的),我可以添加更多可包含相同值(相同锻炼,相同开始时间,相同结束时间,相同锻炼持续时间)的行。

所以,说了这么多,我想要做的就是按升序显示所有Ares锻炼(这意味着显示锻炼持续时间值),在其他名为“结果”的工作表中。 现在,正如我所说的那样,它是按升序排列的,即使Ares重复了两次,锻炼顺序中的数值也不是。 这意味着,在结果工作表中,应该首先显示第一个战神(包含16:03的锻炼持续时间),并在其下方显示第二个战神(包含20:04的锻炼持续时间)。

我创build了这个代码:

=INDEX(WorkoutsSummary[Workout Duration], MATCH("Ares", WorkoutsSummary[Workout], 0)) 

在工作表Results的单元格C13中使用的此代码显示“16:03”,这是第一个Ares的锻炼持续时间。 问题是我无法弄清楚如何使用另一个代码来显示第二个战神。 显然我不能使用相同的代码,因为我会一直显示相同的第一个战神的持续时间。 那时候我认为锻炼顺序的价值在起作用。

任何不清楚的事情,评论,我会尽力解释。

你想使用small(if())

  =INDEX(WorkoutsSummary[Workout Duration], MATCH(SMALL(IF( "Ares" = WorkoutsSummary[Workout],WorkoutsSummary[Workout Order]),1),IF( "Ares" = WorkoutsSummary[Workout],WorkoutsSummary[Workout Order]), 0)) 

这是一个数组,需要用Ctrl-Shift-Enter确认。

将小的第二个参数中的1更改为2以获得第二个等等。

你可以使用Count()或其他一些函数来dynamic计数,但这会给你一些启动的地方。