![在多个号码之间搜索](https://linux22.com/image/1548890/%E5%9C%A8%E5%A4%9A%E4%B8%AA%E5%8F%B7%E7%A0%81%E4%B9%8B%E9%97%B4%E6%90%9C%E7%B4%A2.png)
我有一张这样的桌子:
+-----------+-----------+------------+------------+----+
| Size from | Size till | Price From | Price Till | Product ID |
+-----------+-----------+------------+------------+----+
| 50 | 52 | 10.0 | 15.0 | 1 |
| 50 | 52 | 16.0 | 20.0 | 2 |
| 48 | 50 | 12.0 | 16.0 | 3 |
| 50 | 52 | 8.0 | 9.0 | 4 |
+-----------+-----------+------------+------------+----+
现在我的主表中只有 2 行:A1 = 尺寸,B1 = 价格,C1 = 结果产品 ID
A1和B1是我自己填写的。
我无法找到正确的公式来查找产品 ID。我想在其中搜索尺寸介于“尺寸从”、“尺寸到”之间以及价格介于“价格从”、“价格到”之间的 ID。目前,我使用多个IF(A1=<Table2!A1 & A1=>Table2!A2 & B2 ...
只要我没有更多值,这种方法就有效,实际上我想包含更多参数,这会导致函数太长。有什么想法吗?
答案1
答案2
这取决于 A 列和 B 列单元格的值如何影响产品 ID。哪些特征在所有情况下都会影响产品 ID?
例如,如果产品 ID 是 A 乘以 B 加上某个常数,则可以编写如下公式:
=$A1*$B1+42
例如这样做。您可以单击单元格的角落,然后拖动到下面的单元格以将公式复制到下一行。(同样,您必须更改它以满足您的需求,我不知道您的具体情况。)从编程术语上讲,以下操作的区别如下:
if (x == 0) y = 3;
if (x == 1) y = 4;
if (x == 2) y = 5;
...并且正在做...
y = x + 3;
如果不知道确切的公式,我无法给出完整的公式并解决您的问题,但创建这些公式(和编程)通常与模式识别有关。如果没有更具体的信息,我无法给出更具体的答案。