本帖最后由 danny-fei 于 2014-8-7 12:44 编辑
1. 答题截止。
2. 出这个题目,主要是为了让大家练习使用 VLOOKUP,IF,TRIM, LEN函数等等;在使用VLOOKUP函数,公式本身所在的列,也可以做为 Table_array进行引用,是不是让新学者大家眼前一亮?
3. 这是我预设的,比较常规的公式:(不知道什么原因,贴上来总会多出来好几个$号,请大家复制时删除) - =IF(LEN(A2)>4,VLOOKUP(LEFT(A2,LEN(A2)-2),$$$$A$$$$1:C1,3,)&"",)&TRIM(B2)
复制代码 1).首先判断 A列的长度是否>4,如果否,说明是一级科目,则直接等于当前行的第二列即TRIM(B3),TRIM是去掉空格;如果是,则说明此行是二级明细科目,则需要在前面追加上一级科目,利且VLOOKUP函数获得:
2)对VLOOKUP函数的第一参数LOOKUP_value进行处理,减掉2位LEFT(A3,LEN(A3)-2),即得到上一级的科目代码, Table_array随着公式的下拉进行变化,这里注意的是,该区域引用了公式所在的列。
4. 感谢如下大神提供的我认为优秀公式,奇特思路:
3楼 滴答滴 - =IF(LN(A2)>9,VLOOKUP(INT(A2%)&"",A:C,3,)&"",)&TRIM(B2)
复制代码- =IF(LN(A2)>9,LOOKUP(INT(A2%)&0,A:C)&"",)&TRIM(B2)
复制代码 6楼 蝶舞 - =IF(LEN(A2)<5,,VLOOKUP(INT(A2%)&"",A:C,3,)&"")&TRIM(B2)
复制代码 5. 感谢大家支持,祝大家此次课程收获多多!
|