Google sheets 通过另一个单元格上的两个部分匹配来引用单元格

Google sheets 通过另一个单元格上的两个部分匹配来引用单元格,google-sheets,gs-vlookup,Google Sheets,Gs Vlookup,我需要匹配单元格Name上的两个条件,如果两个条件都匹配,则将价格信息添加到单元格price。换句话说,如果Name同时包含这两个条件,则获取price。我尝试了不同的方法,使用查询、搜索;发现VLoopUp ,但我被卡在中间的某个地方。以下是示例表(谷歌电子表格解决方案优于Excel): 可能很重要:Name值以及整个引用表都是从其他文件中动态提取的。所以我事先不知道这些列的顺序或长度,即使有匹配项也不知道。根据您的电子表格: 您可以尝试以下公式: 此公式在excel中有效,而不是在goog

我需要匹配单元格
Name
上的两个条件,如果两个条件都匹配,则将价格信息添加到单元格
price
。换句话说,如果
Name
同时包含这两个条件,则获取
price
。我尝试了不同的方法,使用
查询、搜索;发现VLoopUp <代码>,但我被卡在中间的某个地方。以下是示例表(谷歌电子表格解决方案优于Excel):


可能很重要:
Name
值以及整个引用表都是从其他文件中动态提取的。所以我事先不知道这些列的顺序或长度,即使有匹配项也不知道。

根据您的电子表格:
您可以尝试以下公式:
此公式在excel中有效,而不是在google电子表格中有效

=IFNA(INDEX($G$2:$G$6;MATCH(1;COUNTIFS(A2;"*"&$E$2:$E$100&"*";A2;"*"&$F$2:$F$100&"*");0));"NOT FOUND")


这是一个数组公式,请按ctrl+shift+enter来计算公式。

我想它会成功的。

以下是除了前面的答案和当前数据集(在谷歌电子表格中)之外的

,请尝试:

=ArrayFormula(iferror(vlookup(regexreplace(A2:A; "[^A-Z]"; ""); {E2:E&F2:F\G2:G}; 2; 0)))

看看这是否有效?

根据您的更新说明,您需要使用我的答案,因为它没有考虑字符串的长度。它可以是任何东西,参考号和名字;如果我将此公式放入例如单元格
B2
中,它不起作用(在Excel中,数组公式已激活)?我错过了什么吗?@ChristianBorck:也许你的excel分隔符是,而不是;就像我的回答一样。这里是=IFNA(索引($G$2:$G$6,匹配(1,COUNTIFS(A2,“&$E$2:$E$4&”,A2,“&$F$2:$F$4&”),0)),“未找到”)谢谢,但这似乎不是问题,我的Excel希望
@ChristianBorck:我为您添加了一个示例文件,下载它,看看它是否有效。顺便说一句,检查您的公式选项是否在excel选项中处于自动计算状态。@ChristianBorck:实际上,因为我的范围是从E2到E4,从F2到F4,所以我刚刚将其更新为E2:E100和F2:F100,您需要调整它以适应您的范围。我还更新了下载文件,你可以看到新文件中的变化。很好,这几乎就是我要找的。但如果我没弄错,您正在提取
Name
中的所有大写字母。也许我的例子有误导性,因为我对
Name
列中的文本结构一无所知。它将是小写、大写、数字的混合体,至少是下划线。因此,关键是检查条件是否包含在内。公式是围绕着资本匹配建立的。如果这些名字没有大写字母,我们需要找到其他的名字。一个名字可能只由小写字母或数字组成吗?要匹配的模式是否总是大写字母?如果可能,请在示例表中添加更多示例(包括所有可能的“类型”名称)。我更新了电子表格中的示例。希望现在更清楚了。非常感谢。正则表达式中是否有某种逻辑可以使用?