Return 包含所有这些东西的单元格

Return cell that contains all of these things

我已经为此苦苦挣扎了几天,所以也许有人可以提供帮助。如果没有,我想我将不得不重新考虑我的策略。
我正在尝试设置一个切割 sheet 以便在我们工厂的机器上使用,它还可以给出机器上的估计时间(基于数据库,我们需要这个来计算成本)我的基本想法是这个:

对于一项工作,用户选择机器、material、组件以及该件所需的不同切割(孔的形状和尺寸、组件的边缘等),然后 sheet returns 基于这些变量的估计时间。
棘手的一点:我将数据库设置为包含每个变量组合的长列表,如下所示:Machine 1 - Wood - Post - 14mm holes - etc.

但是用户可能并不总是以相同的顺序放置变量,从而阻止了 CONCATENATE 和 VLOOKUP 的使用,所以我试图找到一个公式来查找包含用户已选择的项目的单元格returns 关联单元格的值。基本上,一个 VLOOKUP 搜索位,而不是一个确切的字符串。

我有这个公式,如果指定的单元格包含列表中的所有项目,returns 为真或假:

=SUMPRODUCT(--ISNUMBER(SEARCH(things,A1)))=COUNTA(things)

但我不知道如何查看数据库中的所有组合。

提前致谢!

听起来您需要某种数据库后端和充满通配符的查询,但也许这可以帮助您入门。

以M2为标准公式,

=INDEX(F:F,AGGREGATE(15,6,ROW(G:INDEX(G:G,MATCH("zzz",G:G)))/
                         (ISNUMBER(SEARCH(I2,G:INDEX(G:G,MATCH("zzz",G:G))))*
                          ISNUMBER(SEARCH(J2,G:INDEX(G:G,MATCH("zzz",G:G))))*
                          ISNUMBER(SEARCH(K2,G:INDEX(G:G,MATCH("zzz",G:G))))*
                          ISNUMBER(SEARCH(L2,G:INDEX(G:G,MATCH("zzz",G:G))))), 1))

AGGREGATE function evaluates four SEARCH functions 和 returns 匹配所有四个的第一行。

=IFERROR(1/(1/MAX(IF(MMULT(IFERROR(SEARCH(D2:G2,A2:A6),-(10^6)),TRANSPOSE(D1:G1<>"")*1)>0,
B2:B6))),"Combination not found")

作为数组公式(输入时按ctrl + shift + enter而不是回车)

此处假设 A 列中的条目是唯一的,并且 A 列中每个条目中的项目也是唯一的(即没有 "a - b - b - d")。此外,用户提供的项目必须是唯一的。