【发布时间】:2020-09-27 12:45:36
【问题描述】:
我正在尝试创建一个包含多个条件和通配符的公式,如果找到,它将返回匹配的类别。我认为这将通过一个强大的索引匹配公式来完成,但我正在努力将所有标准纳入一个工作公式。我会用例子更好地解释......
我有两个工作表,工作表“导入数据”和工作表“发票编码”。该公式将在“导入数据”表中输入,在任何一列中,例如公式进入 AD 列。
这是“发票编码”表(有超过 500 行并且还在增长,所以这是一个小屏幕截图):
第一步是根据“发票编码”表(通常有多个匹配项)从“进口表”中查找“ACCT”编号(O 列)。然后,第二步将检查“导入数据”表上相应的“INV”,并查看“发票编码”表上的任何通配符发票是否匹配。返回将是“发票编码”表中的“类别”(D 列)。
我将提供一个具体的例子来更好地解释:
查找它是否与上面“发票编码”表屏幕截图的 C 列中列出的通配符部分匹配。
因此,在此特定示例中,“导入数据”表中的 ACCT 和 INV 与“发票编码”表中的第 178 行匹配。公式的预期结果将是 D 列中的类别;第三方。
到目前为止,这是我所拥有的公式,它不包含使用通配符的部分发票匹配:
=INDEX('Invoice Coding'!A2:E514,MATCH('Import Data'!O2,'Invoice Coding'!A2:A514,0),4)
这在技术上返回一个类别,但它不使用 INV # 与带有通配符的部分 INV,因此返回可能不正确。
我希望我的解释是有道理的。关于我是否可以增强索引匹配公式以包含所有必需的条件查找的任何建议?
作为旁注,然后我将重复此公式并稍作调整,以返回“发票编码”表的 E 列中的子类别。
提前谢谢大家!
【问题讨论】:
-
我建议一些简化的示例数据,以便能够重现您所追求的。赌对了,我会看到使用
SUMPRODUCT的可能性,包括ISNUMBER、FIND等。 -
您提到了公式:“这在技术上返回一个类别,但它不使用 INV # 与带有通配符的部分 INV”。原因是:您只是匹配 ACCT 50000 而不是 INV WHFD*。因此,它始终只返回给定 ACCT 50000 的第一个类别。为此,您还需要
MATCH('Import Data'!D2,'Invoice Coding'!C2:C514,1)或 sumproduct 进行多个匹配,如 JvdV 建议的那样 -
感谢您的反馈。我对在这种情况下使用
SUMPRODUCT不是很熟悉。这可能是我已有的公式中的另一个嵌套语句吗? -
愿意扩展:“..增强索引匹配公式以包含所有必需的条件查找?”试试这个并分享结果.. > exceljet.net/formula/index-and-match-with-multiple-criteria
-
嘿,@p._phidot_ 抱歉耽搁了,有一些急需的假期。我查看了您提供的链接,我认为我遵循了它,并根据链接中的信息制作了一个公式。但是,我不确定如何包含通配符搜索,以匹配带有 * 的部分字符串,所以我的结果是#N/A。我当前的公式现在是一个数组公式,
{=INDEX('Invoice Coding'!E2:E656,MATCH(1,('Import Data'!O2='Invoice Coding'!A2:A656)*('Import Data'!D2='Invoice Coding'!C2:C656),0))}。感谢您提供的方向,知道如何包含通配符,或者我的数组公式是否全部搞砸了?
标签: excel excel-formula