我有一张包含大约 5,000 名球员的表格,表格中列出了他们的年龄和体重。我有一个级别表,其中我为每个年龄创建了最大体重并指定了一个级别。查找表中的数组分别被命名为“年龄”、“体重”和“级别”。列出的体重是该年龄在该级别的最大体重,如果球员的体重超过该体重,他们应该升至下一个级别。我有下面的查找表。球员的年龄在 E 列,体重在 K 列。
我需要查找功能方面的帮助,以便将级别分配给玩家。
Max
Age Weight Level
7 110 A
8 105 A
9 65 A
8 150 B
9 120 B
10 115 B
11 75 B
10 175 C
11 130 C
12 125 C
13 85 C
11 175 D
12 135 D
13 130 D
14 100 D
12 180 E
13 185 E
14 300 E
这是我尝试过的:
=INDEX(level,AND(MATCH(E2,age,0),MATCH(K2,weight,1)))
答案1
您基本上是在二维空间中尝试 VLOOKUP。有几种方法可以实现这一点,下面是一个简单的方法:
- 在您的查找表中添加一列,将年龄和体重连接起来,最好使用分隔符,这样您就可以得到
07-105
、、08-105
等等09-065
。(使两个部分的宽度固定!) - 使用 VLOOKUP() 进入该列,并查找实际数据的等效连接。
您需要按连接的列对查找表进行排序。
如果您的数据是上限,而不是下限,则需要与下一行的值减 1 连接。例如,如果您在此表中执行 VLOOKUP("08-110",table,2;FALSE),
08-105 A 08-120 B 08-150 C
它会给你 A,但你想要 B,因此你将其与下一行的值-1 连接起来,得到
08-119 A 08-149 B 08-999 C
您应该阅读此表“直到 119,使用 A”