基于多个条件的查询值

时间:2018-10-12 04:28:33

标签: excel match lookup

大家好-我正在尝试为学校的游泳课创建成绩表。它需要基于一些条件-1.男孩/女孩,2.中风,3.时间游泳

我有一栏用于Time swum,一栏包含下拉菜单,其中有男孩自由泳,女孩自由泳等可供选择。然后是一个标准表,其中男孩和女孩每次游泳可获得30点游泳时间减少x时间。我试图使用索引匹配-但这只会返回笔画之一。如图中所示-我需要X列以基于T列的下拉选择基于列表的所有笔划时间从AB列返回点。

我到目前为止:= index(AB2:AB6,MATCH(S2,AG2:AG6,1)),但假设所有人都在仰泳,而且都是女孩。

我希望我能对此做足够有效的解释。

预先感谢您的帮助。

Sample page

1 个答案:

答案 0 :(得分:0)

您可以使用OFFSET将您要匹配的列向右移动。我的理解也是,例如,在“自由式女孩”列中,某人达到时间50,则应将其置于第55行-A级,满分25分。如果是这样,您将需要执行以下操作:

1)颠倒数据线的顺序-如果您想对时间使用最后一个参数“ -1”(返回的最小值等于或大于查找值)的MATCH(当您达到50时,则劣于40,所以您将与55保持一致),您将需要按降序排列这些值,因此成绩将从D变为A *,而不是A *变为D。

2)使用公式

=IFERROR(INDEX(AB:AB,MATCH(S2,OFFSET(AB:AB,0,MATCH(T2,AC1:AF1,0)),-1)),AB2)

基本上是这样的:

OFFSET(AB:AB,0,MATCH(T2,AC1:AF1,0))

这会将搜索列移动到最后一个MATCH,以匹配您选择的样式

INDEX(AB:AB,MATCH(S2,OFFSET(...),-1))

这是您尝试过的标准搜索,只有OFFSET位于其中,因此它显示在正确的列中。

由于没有高于D级的值,如果somone差点淹死并花了100秒钟完成,那么将导致错误,因此您需要IFERROR来确保正确。

注意:这假定T中的值与列名AC-AH中的值匹配。在您的示例中,单词顺序似乎发生了变化。另外,我在公式中仅添加了4种不同的样式,因此您需要更改说明AC1:AF1的部分以包含所有样式