我该怎么做这个 VLOOKUP?

How do I do this VLOOKUP?

试图解决这个问题,但没有运气。

我有几个单元格包含如下所示的数据:

+------+------+---+-------+
| Col1 | Col2 | - | Input |
+------+------+---+-------+
| 1    | A    |   |    10 |
| 2-3  | B    |   |       |
| 4-5  | C    |   |       |
| 6-7  | D    |   |       |
| 8+   | E    |   |       |
+------+------+---+-------+

如果数字与 Col1 匹配,我想做的是对 return Col2 进行 VLOOKUP。

假设输入的值为 10(如上例),我希望它返回 E,因为 10 大于 8。同样,如果输入值为 4 或 5,我希望它到 return C.

这让我费了好大劲儿,哈哈,非常感谢您的帮助!

重做你的 Col1,只留下最少的

+------+------+---+-------+
| Col1 | Col2 | - | Input |
+------+------+---+-------+
| 1    | A    |   |    10 |
| 2    | B    |   |       |
| 4    | C    |   |       |
| 6    | D    |   |       |
| 8    | E    |   |       |
+------+------+---+-------+

然后使用:

=VLOOKUP(D1; A:B; 2; 1)

感谢@player0,我设法找出公式并在不更改数据的情况下内联完成。

=ARRAYFORMULA(IFERROR(VLOOKUP(RANDBETWEEN(1,10),{VALUE(LEFT(K8:K12,1)),L8:R12},2,1),"Error"))

这将有效地改变以下内容:

+------+
| Col1 |
+------+
| 1    |
| 2-3  |
| 4-5  |
| 6-7  |
| 8+   |
+------+

进入:

+------+
| Col1 |
+------+
| 1    |
| 2    |
| 4    |
| 6    |
| 8    |
+------+

完成这项工作需要一两个技巧。

  • 虽然这些看起来像是数字,但实际上是 text/strings。所以我们使用 VALUE 将它们转换为数字。
  • 要记住的另一件事是,除非您将 VLOOKUP 排序值设置为 TRUE 或 1,否则如果您的数字大于 8,您将收到错误消息。