如果有内容的话,如何让Excel单元格从另一个表单中获取价值

我正在使用Excel来跟踪运动俱乐部正在购买的工具包的顺序。 我在一份文件中有两张纸,一张是订单,另一张是各个项目的成本。

项目订单

物品成本

我希望成本栏自动计算项目的总成本。

我想我需要为每一列分配一个基于第二张的值(所以链接他们?),然后告诉费用列,如果这些行中有一个值加在一起。

这很可能是一段时间以来的事情,但是我对excel公式有点新意,如果有人有任何build议,他们会非常欢迎。

我假设Sheet1上的A1是夹克。 我也假定潜在的价值只会是一个单一的大小,而不会有一个订单上有两件衬衫的情况。

如果你的格式(项目,成本)是静态的,那么这应该在F2中工作得很好,然后填写公式。

=SUM(IF(ISBLANK(A2), 0, Sheet2!$B$2), IF(ISBLANK(B2), 0, Sheet2!$B$3), IF(ISBLANK(C2), 0, Sheet2!$B$4), IF(ISBLANK(D2), 0, Sheet2!$B$5)) 

说明:SUM公式只是加上了一堆数字。 在我们的例子中,每个数字都是检查单元格是否为空。 如果单元格为空,则使用0作为该数字。 如果单元格不是空白,则在Sheet2上查找成本。 当你填充序列时, $保护值不被修改。

限制:

  • 如果工作表2上某个项目的成本发生了变化,它将更改Sheet1上的所有成本,而不仅仅是新订单。 如果您想要解决这个问题,您可以通过复制所有当前订单的“成本”列中的单元格来“locking”这些值,然后执行“粘贴值”。

  • 如果您在短裤之前的任何地方在Sheet1上插入新列,或者在短裤之前的任何地方在Sheet2上插入新行,则会破坏逻辑,您的总成本将会错误。 如果您需要添加新的成本项目,请确保将其添加到最后,并向公式添加新的IF(ISBLANK())

清晰度相同公式的备用视图:

 =SUM( IF(ISBLANK(A2), 0, Sheet2!$B$2), IF(ISBLANK(B2), 0, Sheet2!$B$3), IF(ISBLANK(C2), 0, Sheet2!$B$4), IF(ISBLANK(D2), 0, Sheet2!$B$5))