1.我们把表1看着是基础数据表,基础数据表的作用是:它的很多单元格都要被其他表格引用、或是被取数的对象。
2.我们把表2看作是管理报表,管理报表是由基础数据表的引用、取数和计算得来的.
3。其实在表2中,工序号也可以自动取数,以减少输入过程中的错误。(当然,手工输入也可以。)方法是在表2的A2单元格中定义好数据的有效性,公式=INDIRECT("表1!$A$2:$A$100"),公式中A100表示有可能有100道工序,定义好有效性后,会在单元格中出现一个下拉列表框,然后选取即可。
4。在表2的B2中输入:B2=IF(ISERROR(INDEX(INDIRECT("表1!$B$2:$B$100"),MATCH(A2,INDIRECT("表1!$A$2:$A$100"),0))),"",INDEX(INDIRECT("表1!$B$2:$B$100"),MATCH(A2,INDIRECT("表1!$A$2:$A$100"),0))),然后向下复制到其他单元格。就把表上中的工序名引用过来了。
5。在表2的D2中输入:=IF(ISERROR(INDEX(INDIRECT("表1!$C$2:$C$100"),MATCH(A2,INDIRECT("表1!$A$2:$A$100"),0))),"",INDEX(INDIRECT("表1!$C$2:$C$100"),MATCH(A2,INDIRECT("表1!$A$2:$A$100"),0))),然后向下复制到其他单元格。就把表上中的单价引用过来了。
6。在E2中输入公式:=IF(A2="","",D2*C2),就自动计算金额了。
如果对上述公式理解有困难,请发邮件过来:XZLHD@163.COM,我把该表发给你.
在表2中,只有白色的数量那一列是要输入的,其余的都是公式生成.
使用 INDEX 函数在 Excel 中一个表中查找数据
http://support.microsoft.com/kb/324988/zh-cn
这个用VLOOKUP、INDEX、MATCH函数应该就可以实现
这个问题,我也要关注。值得收藏