非常钦佩在Excel里面使用相对位置引用的大神。
先说Choose,choose(indexnum,value1,value2,value3)
choose是根据indexnum的值取后面value1、value2、value3的值,如果indexnum值为1,则choose值取value1;如果为2,则取value2;如果为3,则取value3;而indexnum的值为mod(row(),3)+1,因为公式是在A2单元格开始,随着公式向下拉取,那么indexnum的值就是在3,1,2,3,1,2这样一直循环,所以choose的取值就是按照value3,value1,value2的顺序取值;也就是工资条标题、工资明细、空白这三个值一直循环取值。
value3的值一直是引用工资表中的标题;
value2的值一直是空值;
value1的值是相对引用工资表中的每一行,
再说offset,也就是value1的取值,offset(参照,相对行数,相对列数),是取参照值对应行和列增加后的对应值,因为offset('工资表'!$A3,row()/3,),工资表中A3标题,,而工资条中第一个出现人名的行数为A3行(A2单元格取的是标题),行数row()是3,那么row()/3=1,所以A3行取的是工资表中标题加一行后的值,也就是第一个人的工资明细,value1的值也是每3行取值一次,所以row()/3的值一直在公式需要取值时等于1、2、3、4、5直到你取完工资表中所有的行。
不知道这样是否明白?