我正在设置一个Excel工作簿,该工作簿将实际使用情况作为输入。我希望能够将这些输入与我在表格中输入的已知材料成分相乘。
当前我正在做=使用物料1 * vlookup(物料1,物料表,索引,假)+使用物料2 * vlookup(物料2,物料表,索引,假).....
考虑到我有大量的材料用法,是否有更简单的方法来做到这一点?我真的想避免在同一单元格中重复最多重复30次相同的公式,只是为了将它们加起来。
我想要一个公式,该公式将自动乘以材料使用量*查找成分,并对所有输入的材料求和该公式。
答案 0 :(得分:4)
这是另一种方式...
=SUMPRODUCT(SUMIF(F6:F8,A6:C6,G6:G8),A7:C7)
...仅需按Enter即可确认。
希望这会有所帮助!
答案 1 :(得分:2)
快速但有点复杂的解决方案:
{=SUM(INDEX(G1:G4,N(IF(1,MATCH(A1:A5000,F1:F4,0))))*B1:B5000)}
另一种解决方案:
{=SUM(LOOKUP(A1:A5000,F1:F4,G1:G4)*B1:B5000)}
如注释中所述:查找表必须按升序排序。另外,如果查找值不存在匹配项,则会找到一个近似匹配项,这可能不是期望的结果。
具有5000次执行公式的速度测试:
{=SUM(LOOKUP(A1:A5000,F1:F4,G1:G4)*B1:B5000)}
5.237412秒已过去| 16,325,977滴答声过去了
{=SUM(INDEX(G1:G4,N(IF(1,MATCH(A1:A5000,F1:F4,0))))*B1:B5000)}
7.941025秒已过|经过24,753,637滴答滴答声
=SUMPRODUCT(SUMIF(F1:F4,A1:A5000,G1:G4),B1:B5000)
12.338439秒已过去| 38,461,185 cks虫消失了