Google sheets googlesheets中的多级多参数索引

Google sheets googlesheets中的多级多参数索引,google-sheets,Google Sheets,我正在写一份工作表,试图创建一个多级索引,用3个数据段搜索5个不同的列。例如: x = 40 y = 5000 z = 20000 Column1 | Column2 | Column3 | Column4 | Column5 | Column6 13 | 29 | 0 | 0 | 0 | Yes 30 | 870 | 0 | 0 | 0 | No 10 | 870

我正在写一份工作表,试图创建一个多级索引,用3个数据段搜索5个不同的列。例如:

x = 40
y = 5000
z = 20000

Column1 | Column2 | Column3 | Column4 | Column5 | Column6
13      | 29      | 0       | 0       | 0       | Yes
30      | 870     | 0       | 0       | 0       | No
10      | 870     | 0       | 30000   | 1       | Blue
10      | 870     | 30001   | 100000  | 1       | Yes
10      | 870     | 100001  | 300000  | 1       | Unknown
这是我的数据样本集,我需要的是比较

  • 将变量x添加到第1列和第2列(x必须位于这些值之间)
  • 变量y到第3列和第4列(y必须介于这些值之间)
  • 最后z到第5列(z必须高于这些值)
在每种情况下,我都需要知道变量的值是低于还是高于。最后,我需要将第6列中的匹配数据作为结果返回到我的工作表中。目前,我有一个简单的嵌套的if语句列表,这些语句分别考虑了所有这些标准,但是当需要对这些值进行更改时,它不能很好地编辑。

我看了互联网上的每一页(每一页),似乎找不到解决我问题的办法。我发现的大多数解决方案要么使用单个数据点,要么针对单个范围使用多个数据点,要么根本不起作用。我尝试的最新迭代是:

=INDEX('LTV Data'!$N$3:$N$10, MATCH($D$5 & $G$8 & $G$12, ARRAYFORMULA($D$5 <= 'LTV Data'!$H$3:$H$10 & $D$5 >= 'LTV Data'!$I$3:$I$10 & $G$12 <= 'LTV Data'!$J$3:$J$10 & $G$12 >= 'LTV Data'!$K$3:$K$10 & $G$8 <= 'LTV Data'!$L$3:$L$10), 0), 7)

=INDEX('LTV Data'!$N$3:$N$10,MATCH($D$5&$G$8&$G$12),ARRAYFORMULA($D$5='LTV Data'!$I$3:$I$10&$G$12='LTV Data')!$K$3:$K$10&$G$8如果要在数组中获得AND的效果,需要使用乘法将不同的条件组合在一起:

=INDEX(F2:F10,MATCH(1,(A2:A10<x)*(B2:B10>x)*(C2:C10<y)*(D2:D10>y)*(E1:E10<z),0))

=索引(F2:F10,匹配(1,(A2:A10x)*(C2:C10y)*(E1:E10所以正如我在提供的示例代码中所写的,在每种情况下,我都需要测试给定变量是否高于或低于每列中的数字。我为问题添加了更多细节,但本质上我有三个变量,我想使用大于或小于运算符针对不同的列测试每个变量对于单行的所有五列,如果为“OR”,则返回第6列中的单个匹配结果,将过滤器包装在
数组_constraint()中
最多可以确保一行。我之前确实尝试过类似的迭代,但遇到的问题是Google Sheets告诉我“在匹配评估中找不到值“1”。经过一些搜索后,我认为这是Excel和工作表之间的差异,我必须在工作表中找到替代解决方案。我还在上面发布的过滤器版本中添加了数组约束,我被告知没有找到匹配项,尽管在我的IF语句版本中找到了匹配项!非常令人沮丧…=数组约束(过滤器(F2:F10,A2:A10=x,C2:C10=y,E2:E10确实很奇怪!我现在对公式的过滤版本有点运气,它现在没有返回正确的结果,但我正在做一些调整,看看问题是否与我所写的有关,以及我是否可以更好地改进它。如果它有问题,我将运行更多的测试并更新问题成功了(当然,你的答案是正确的)但是我会看看问题到底是什么,如果我能首先解决它。非常感谢你迄今为止的帮助!因此你提供的筛选评估工作非常有效!结果表明我输入的单元格是导致最后显示错误值的原因,但我已将你的答案标记为正确。仍然不确定为什么会出现错误TCH不想为我跑步,但非常感谢您的帮助!
=INDEX(F2:F10,MATCH(1,(A2:A10<=x)*(B2:B10>=x)*(C2:C10<=y)*(D2:D10>=y)*(E1:E10<=z),0))
=filter(F2:F10,A2:A10<=x,B2:B10>=x,C2:C10<=y,D2:D10>=y,E2:E10<=z)