急用!! excel表2自动引用表1中的部分内容

来源:百度知道 编辑:UC知道 时间:2024/05/25 03:22:14
表1如下:

姓名 张一 退休 补助
本院费用 51
外院费用 52
费用总计 53
自费合计 54
乙类合计 55
甲类合计 56
基本应付 57
补助 58
统筹总付 59
姓名 张二 在职 补助
本院费用 115
外院费用 116
费用总计 117
自费合计 118
乙类合计 119
甲类合计 120
基本应付 121
补助 122
统筹总付 123
姓名 王一 在职 无补助
本院费用 215
外院费用 216
费用总计 217
自费合计 218
乙类合计 219
甲类合计 220
基本应付 221
补助 222
统筹总付 223
姓名 李五 退休 无补助
本院费用 326
外院费用 327
费用总计 328
自费合计 329
乙类合计 330
甲类合计 331
基本应付 332
补助 333
统筹总付 334
姓名 王三 在职 补助
本院费用 448
外院费用 449
费用总计 450
自费合计 451
乙类合计 452
甲类合计 453
基本应付 454
补助 455
统筹总付 456
....
....
....

表2自动生成如下所示的表格 (条件是在职与补助)
姓名 本院费用 外院费用 费用总计 基本应付 补助 统筹总付
张二 115 116 117 121 122 123
王三 448 449 450 454 455 456
...
...
.....

=VLOOKUP(B$1,OFFSET(表1!$A$1,MATCH(A2,表1!$B:$B,0)-1,0,10,2),2,0)
向右向下复制公式进行填充即可

如果要防止在查询不到时显示出错信息
=IF(ISERROR(MATCH(A2,表1!$B:$B,0)),"",VLOOKUP(B$1,OFFSET(表1!$A$1,MATCH(A2,表1!$B:$B,0)-1,0,10,2),2,0))

Match函数,已经给你解释过
OFFSET(参数1,参数2,参数3,参数4,参数5),返回一个引用区域
参数1,为引用的起始坐标单元格
参数2,为行方向上的偏移量,用于确定最终的引用区域从哪一行开始。公式中为MATCH(A2,表1!$B:$B,0)-1
参数3,为列方向上的偏移量,这里为0,即不偏移,引用区域从表1的A列开始
参数4,为引用区域的行数,10
参数5,为引用区域的列宽,2

VLOOKUP(参数1,参数2,参数3),查询函数
参数1,为查询值
参数2,为查询区域,这里为Offset函数
参数3,查询方式,0,指精确查询