查找或索引匹配列表 between/after 字符串

Lookup or index-match list between/after string

我有一个自动生成的信息列表,其中包含 3 种不同动物的名称和体重。 "Cat""Dog""Whale"。如果给定名称和动物类型,我需要一个 vlookup 或索引匹配公式 return 给我相应的重量,如果不匹配则 return 错误。

我找到了在值(即数字)之间查找的解决方案,但似乎无法使其适用于字符串值。

输入:

     A       B
1    Cat     Weight
2    Bob     1.5
3    Tommy   2.5
4    Peter   3.5
5    Adam    4.5
6    Mary    5.5
7    Dog    
8    Bob     14
9    Adam    16
10   Peter   15
11   Tommy   20
12   Whale  
13   Peter   150
14   Adam    188
15   Jack    164

输出:

Animal  Cat
Name    Tommy
Weight  2.5

Animal  Dog
Name    Tommy
Weight  20

Animal  Whale
Name    Bob
Weight  Error

按照下图列出结果,在 G6 中使用此标准公式并复制到 G10 和 G14。

=IFERROR(INDEX(B:B, MATCH(G5, INDEX(A:A, MATCH(G4, A:A, 0)):INDEX(A:A, AGGREGATE(15, 6, ROW(:9)/((ROW(:9)>MATCH(G4, A:A, 0))*NOT(LEN(B:B9))), 1)), 0)+MATCH(G4, A:A, 0)-1), "error")