Arrays Vlookup从多个标准显示最接近的答案
我希望有人能帮我。我撞到了一堵坚固的墙 我有一个包含产品信息的表,我正在构建一个计算器,它应该根据表中的设置标准给出一些选项。我只是无法通过代码。问我如何在这里做一个vlookup,我感到很尴尬。但基本上,我有一个vlookup,它取决于多个标准,对于calc来说,根据这个标准计算出最接近的匹配项(如果适用)Arrays Vlookup从多个标准显示最接近的答案,arrays,excel,excel-formula,formula,Arrays,Excel,Excel Formula,Formula,我希望有人能帮我。我撞到了一堵坚固的墙 我有一个包含产品信息的表,我正在构建一个计算器,它应该根据表中的设置标准给出一些选项。我只是无法通过代码。问我如何在这里做一个vlookup,我感到很尴尬。但基本上,我有一个vlookup,它取决于多个标准,对于calc来说,根据这个标准计算出最接近的匹配项(如果适用) Criteria 1 = Product Criteria 2 = Type Criteria 3 = Height Criteria 4 = Min 我在表中创建了一个搜索键来连
Criteria 1 = Product
Criteria 2 = Type
Criteria 3 = Height
Criteria 4 = Min
我在表中创建了一个搜索键来连接所有这些列,然后执行了一个vlookup,它是=vlookup(Criteria1&Criteria2&Criteria3&Criteria4,表数据,所需代码)
,但这似乎并没有给我结果,它要么给出了一个错误,要么给出了不正确的产品。下面是我的数据和我希望完成的计算。有人能帮忙吗
下面是一个在Min上寻找最接近匹配的示例。它演示了该原理,因此您可以扩展 最接近的匹配公式部分是:
MATCH(MIN(ABS(E2:E4-K2)),ABS(E2:E4-K2),0))
列E为中具有最小值的列。K2表示目标最小值。这是使用Ctrl+Shift+Enter输入的数组公式。您可以调整E2:E4的范围
“多标准”部分使用的是:
=MATCH(lookup_value_1&lookup_value_2&lookup_value_3, lookup_array_1&lookup_array_2&lookup_array_3, match_type)
将参数连接起来,并在表中搜索这些参数连接的匹配项(如果键由相同的参数组成,则可以针对键列执行此操作。)
带有一些测试数据的总体公式(使用一个估算数字):
上面输入的组合公式Memory是一个数组公式,因此使用Ctrl+Shift+Enter输入。您可以将范围从整列减少到仅包含数据的行
数据数据: 我并没有把图片上的所有内容都打出来,所以这里有一个快速的n
我尝试使用QHarr的解决方案,但它无法处理所有行 我的解决办法是:
最初将此标记为已回答,最初它确实有效,但随着我添加更多产品,它开始失败。我确实设法(经过多次尝试和错误后)找到了一个简单的解决方案(
{=INDEX(Calc!$I$2:$I$189,MATCH(Output!$H$7,IF(Calc!$B$2:$B$189=Output!A12,Calc!$H$2:$H$189),1))
请在代码标记之间插入代码/数据,使用一个表生成器来帮助格式化,而不是作为图像。另外,最接近的匹配是什么?在这种情况下,组合键不太可能有帮助。它是最接近的最小值吗?最小值下最接近的匹配。。。。因此,如果我将Product1放入搜索中,我只希望代码查看表中的Product1,然后我希望它查看下一个高度,因此在calc 300的顶部,它将在表中查看Product1和高度300,然后我想让它看看类型,然后将表格缩小到Product1高度300和calc顶行的类型11,然后得到与最小值1000最接近的匹配,在表格中是Product1,类型11,高度300,最小值是803,代码是P130180G。我希望这是有意义的,因为它对我们帮助很大。对不起,这张图片,我看不到如何附加表格。没关系。必须有人告诉我!我用这个。您可以将表格从excel粘贴到其中(有一个下拉选项)。然后复制到剪贴板,粘贴问题。高亮显示它,然后按Ctrl+K在代码标记之间切换,谢谢,我注意到当我添加越来越多的产品时,它开始失败。我通过以下“{=INDEX(Calc!$I$2:$I$189,MATCH(Output!$H$7,IF(Calc!$B$2:$B$189=Output!A12,Calc!$H$2:$H$189),1))”解决了这个问题。请在中提供一个包含数据的工作簿,如果出现问题,我将更新:-)
=INDEX(F:F,MATCH(K1&K5&J5&INDEX(E2:E4,MATCH(MIN(ABS(E2:E4-K2)),ABS(E2:E4-K2),0)),B:B&C:C&D:D&E:E,0))