Google 工作表:Return 单元格值 range/array 基于多个条件(包括比较两个数字之间的值)

Google Sheets: Return cell value in a range/array based on multiple criteria (including comparison of value between two numbers)

非常感谢能为我苦苦挣扎了一段时间的这个问题提供帮助。我相信答案在 Match、Index、Indirect、ArrayFormula 中的某处,但我正在努力寻找它。

所以我的主要目标是根据 3 次(技术上是两次)评估获得产品的成本。我可用的输入是 Tierweight.

示例 等级 体重公斤 产品成本
示例 1 SPC 0.65 ?
示例 2 STE 0.15 ?

从中得出产品成本的参考 table 如下:

等级 最小重量(公斤) 最大重量(公斤) 产品成本
1 中小企业 0.00 0.10 4.0
2 STE 0.00 0.10 4.5
3 STE 0.10 0.25 4.7
4 STE 0.25 0.50 5.0
5 0.00 1.00 5.5
6 SPC 0.00 0.25 5.7
7 SPC 0.25 0.50 6.0
8 SPC 0.50 1.00 6.5
9 SPC 1.00 1.50 7.0

为了获得产品成本,我需要评估 等级 ,然后评估产品重量落入的最小和最大重量范围(针对该等级)。

所以以示例 1 为例,层级是 SPC,这使得 第 6 到 9 行 有效。然后重量为 0.65,介于 行 8 的最小和最大重量值 0.5kg 和 1.0kg 之间。因此产品成本为6.5.

请注意,这两个标准都很重要,因为各层之间的重量范围重叠。

如能提供有关如何对此进行评估的任何帮助,我们将不胜感激。

谢谢

尝试:

=INDEX(IFNA(VLOOKUP(VLOOKUP(F2:F, {UNIQUE(FILTER(A2:A, A2:A<>"")), 
 SEQUENCE(COUNTUNIQUE(A2:A))*10000}, 2, 0)+G2:G, {
 VLOOKUP(A2:A, {UNIQUE(FILTER(A2:A, A2:A<>"")), 
 SEQUENCE(COUNTUNIQUE(A2:A))*10000}, 2, 0)+B2:B, D2:D}, 2, 1)))


工作原理:

demo spreadsheet