Execl中按固定内容,在各Sheet匹配对应引用数据
1、1>.新建一个Excel表,并新增Sheet,将Sheet增加到32个
2>.第一个Sheet,命名为《不良分析》
3>.将其他Sheet一次按数字命名,从《1》,《2》....《31》
4>.完成后保存
2、在《不良分析》表中,完成总合表制作
1>.所有的不良项目
2>.按日期的列表项
注意:命名为1,2,3.... 31 ,此数据与Sheet名相同,到时需要关联

3、每日数据如下表:
1>.每天的不良项目数量有变化
2>.每天的不良项目顺序不同
3>.不良名固定,数据格式固定
如何将上面状况的不良项目的不良数,在《不良分析》表中,按照对应的不良名称趴块,填写到对应的日期中呢泪信?

4、公式设定:
1>.用MATCH()函数,找匹配的位置
Match(Lookup_Value,Lookup_array,Lookup_type)说明
函数功能:指定的数组中,找一个指定的数据,并放回此数据在数组中的位置
返回的是在Sheet中的列数。
函数参数:
-Lookup_Value:需要查找的值
-Lookup_array:在指定的区域查找
-Lookup_type:查找格式,-1,0,1,三个选项(一般选择0)
2>.Match公式设定,完成不良项目对应关系
A.在《不良分析表》中,"P06 下POL异物不良"这个项目,在4月2日(Sheet名为2)的的表中,对应“P06 下POL异物”项的所在列
B.在《不良分析表》日期栏为“2”,与“P06 下POL异物不良”对应行,输入公式: =MATCH(M16,'2'!A1:DA1,0)
其中:M16: 指向《不良分析表》中“P06 下POL异物不良”的单元格
‘2‘!A1:DA1: 指的是在Sheet名为“2”的从A1到DA1的区间单元格
0:完全匹配
C:返回值:18 (通过公式,得到数据18)
说明:
1.“P06 下POL异物不良”在Sheet名为2的表中,的位置为第18列
2.不管顺序,不管需要找的内容,都能按上方式在不同Sheet查找

5、读取对应不良项目的数据,
1>.先用ADDRESS函数定位地址
函数功能:创建一个以文本名对应工作Sheet内的单元格数据的引用
ADDRESS(Row_num,Colum_num,abs_num,a1,sheet_name)
函数参数:
Row_num:行数,在本例中,第三为不良名称,第4行为不良数
Colum_num:列数: 配合上面公司Match函数,可以定位到列数
sheet_name:Sheet名,对应到日期,Sheet名以数字命名,对应日期
2>. 公式设计 =ADDRESS(4,MATCH(M16,'2'!A1:DA1,0),1,1,S3)
在《不良分析表》单元格S3中,放置日期为2,也就是说,上面公式是在Sheet名为“2”的工作表里,对应第4行,第18列(Match函数得出的数据)对应单元格
3>.数据引用;Address 只是将单元格地址找到了,但单元格内的内容,需要用INDIRECT函数把它导出
=INDIRECT(ADDRESS(4,MATCH(M16,'2'!A1:DA1,0),1,1,S3))
将Sheet名(在S3单元格)为“2”的第4行 第18列的数据显示在对应单元格中
6、配置其他日期对应单元格的函数
1.先对“炼墨虚P06 下POL不良“项目进行了4月2日的单元格配置,要配置其他日期,有些内容不用改变,用"$"符合锁定,有些自动更新的内容,不要锁定,如下:
=INDIRECT(ADDRESS(4,MATCH($M16,'2'!$A$1:$DA$1,0),1,1,S$3))
2.横向拉动单元格,公司主动复制
3.在每个单元格内,将公式内的“2”! 修改成对应日期,这个需要手工修改
-如: '2'!,'3'!.... 2、3中的数据按对应日期修改
-要保证有对应的Sheet名,不然会报错
7、完成所有不良项目的设置
1.配置好一个不良项目后,将可以配置其他不良项目
2.其他不良项目不用和第一个不良项目一样配置,只要将公式往下拉,自动复制
3.自动完成后,整个报表就完成了
4.为了美光,在数据找不到时,不要让单元格显示异常,可以修改为下列公式:
=IF(ISNA(INDIRECT(ADDRESS(3,MATCH($M16,'2'!$A$1:$DA$1,0),1,1,$S$3))),0,INDIRECT(ADDRESS(3,MATCH($M16,'2'!$A$1:$DA$1,0),1,1,$S$3)))
