首页 > 解决方案 > 在 Google 表格中检查值属于哪个范围

问题描述

我有以下方式的一些数据

类别 [范围 1_min] [范围 1_max] [范围 2_min] [范围 2_max] ...
一个 120 130 ...
100 119 131 140 ...

我希望能够快速查询一个数字并让它返回它所属的类别,例如 135 属于 B 和 121 属于 A。

我已经有一个执行此操作的脚本,但由于有 1000 多个类别,因此需要很长时间才能运行。有没有更快的方法来做到这一点?

谢谢。

标签: google-sheets

解决方案


您可以使用LOOKUP

=ArrayFormula(LOOKUP(2,1/((G2>=B2:B)*(G2<=C2:C)+(G2>=D2:D)*(G2<=E2:E)),A2:A))

在此处输入图像描述

添加:

对于更多范围,您可以添加MMULT(不确定是否更容易):

=ArrayFormula(LOOKUP(1,5/(MMULT(--(K2>={B2:B,D2:D,F2:F,H2:H}),ROW(A1:A4)^0)*MMULT(--(K2<={C2:C,E2:E,G2:G,I2:I}),ROW(A1:A4)^0)),A2:A))

一些条件:

  1. 将第一个参数更改LOOKUP1
  2. 对于第二个LOOKUP参数,将分母更改为5(要比较的列数 + 1)
  3. 对于第二个MMULT参数ROW(A1:A4),根据列数使用行数进行比较(即 4 cols -> ROW(A1:A4),6 cols -> ROW(A1:A6)etc.)

推荐阅读