返回包含所有这些内容的单元格

时间:2016-03-10 00:55:22

标签: excel formulas

我已经在这几天苦苦挣扎,所以也许有人能够提供帮助。如果没有,我想我必须重新考虑我的策略 我正在尝试设置一个切片,用于我们工厂的机器,这也可以给机器估计时间(基于数据库,我们需要这个用于成本计算),我的基本想法是:

对于一项工作,用户选择机器,材料,组件和此件上所需的不同切口(孔的形状和大小,组件的边缘等),然后工作表返回估计基于这些变量的时间 棘手的一点:我将数据库设置为包含每个变量组合的长列表,如下所示:Machine 1 - Wood - Post - 14mm holes - etc.

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

我有这个公式,如果指定的单元格包含列表中的所有项目,则返回True或False:

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

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

提前致谢!

2 个答案:

答案 0 :(得分:0)

听起来你需要某种数据库后端和大量带有通配符的查询,但也许这可以让你开始。

在M2中作为标准公式,

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

comp_mach_cut_matl

AGGREGATE function评估四个SEARCH function并返回与所有四个匹配的第一行。

答案 1 :(得分:0)

enter image description here

=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列中每个条目中的项目也是唯一的(即没有&#34; a - b - b - d&#34;)。用户提供的项目也必须是唯一的。