我有一个索引匹配问题,我无法在研究中找到答案。虽然解决方案实际上可能与索引匹配匹配公式不同 - 我可以尝试比我当前的解决方法更有效的方法。
我有一张工作表,上面有我公司的数据。我们销售一种产品(让我们称之为Coke Zero),我们跟踪我们推销的周数以及通过将其出售给零售商而获得的利润。例如,可口可乐零的促销活动从1月的第一周开始,到3周后结束,我们每周促销活动的毛利润为100美元。然后我有一个外部数据库,每周都会格式化销售数据,告诉我每周销售的Coke Zero有多少单位。我的内部数据有数千条这样的产品线,有数十种产品,但是促销在一行中合并,无论它是否运行超过一周,都难以与外部数据库匹配。我需要为促销的每周创建一个查询我们的毛利润。
我附上了工作手册的示例图片+我试图做的两张数据表,总结如下。 在内部数据表中,我已经创建了右侧的其他列,列出了促销所在的所有周,并将它们与产品代码连接起来,以便能够逐周匹配外部数据数据表。然后我的查找基本上一个接一个地检查每一列,直到找到一个Week_Product代码连接的连接匹配的列。
我目前的解决方案在技术上有效但我的最终公式确实很慢且很麻烦,因为在查看多家零售商时,数据可能是10K-200K线。我希望找到一个更有效的公式来完成查找。
外部数据表E列的当前解决方案:
=IF(ISNUMBER(MATCH(D2,'Internal Data'!$E:$E,0)),INDEX('Internal Data'!$D:$D,MATCH(D2,'Internal Data'!$E:$E,0)),
IF(ISNUMBER(MATCH(D2,'Internal Data'!$F:$F,0)),INDEX('Internal Data'!$D:$D,MATCH(D2,'Internal Data'!$F:$F,0)),
IF(ISNUMBER(MATCH(D2,'Internal Data'!$G:$G,0)),INDEX('Internal Data'!$D:$D,MATCH(D2,'Internal Data'!$G:$G,0)),
"0")))