先看CHOOSE函数的帮助: CHOOSE(index_num,value1,value2,...) Index_num 用以指明待选参数序号的参数值。Index_num 必须为 1 到 29 之间的数字、或者是包含数字 1 到 29 的公式或单元格引用。 如果 index_num 为 1,函数 CHOOSE 返回 value1;如果为 2,函数 CHOOSE 返回 value2,以此类推。 如果 index_num 小于 1 或大于列表中最后一个值的序号,函数 CHOOSE 返回错误值 #VALUE!。 如果 index_num 为小数,则在使用前将被截尾取整。 Value1,value2,... 为 1 到 29 个数值参数,函数 CHOOSE 基于 index_num,从中选择一个数值或执行相应的操作。参数可以为数字、单元格引用、已定义的名称、公式、函数或文本。 说明 如果 index_num 为一个数组,则在函数 CHOOSE 计算时,每一个值都将计算。 函数 CHOOSE 的数值参数不仅可以为单个数值,也可以为区域引用。 所以,由于CHOOSE函数的特性,公式: =VLOOKUP(A3&C3&E3,CHOOSE({1,2},基础表!$A$3:$A$123&基础表!$C$3:$C$123&基础表!$E$3:$E$123,基础表!$D$3:$D$123),2,0) 其中CHOOSE({1,2},基础表!$A$3:$A$123&基础表!$C$3:$C$123&基础表!$E$3:$E$123,基础表!$D$3:$D$123),返回2列数组: 第1列为:基础表!$A$3:$A$123&基础表!$C$3:$C$123&基础表!$E$3:$E$123 第2列为:基础表!$D$3:$D$123 因为并没有第3列,并且只有1、2列的组合,所以把{1,2}改为{1,3}、{2,2}、{2,3}等等,都出现错误值。 另外,公式:=VLOOKUP(A3&C3&E3,IF({1,0},基础表!$A$3:$A$123&基础表!$C$3:$C$123&基础表!$E$3:$E$123,基础表!$D$3:$D$123),2,0) 也可以改为: =VLOOKUP(A3&C3&E3,IF({0,1},基础表!$D$3:$D$123,基础表!$A$3:$A$123&基础表!$C$3:$C$123&基础表!$E$3:$E$123),2,0) 正如山菊花版主所说(第 20 楼): czzqb兄的帖子不可不看: http://club.excelhome.net/viewthread.php?tid=151980&replyID=&skin=0
[此贴子已经被作者于2006-10-10 11:01:59编辑过] |