根据特定字符引用特定单元格内容
2018-02-24王志军
王志军
最近在工作中遇到一个问题,如图1所示,“岗位”列的单元格有很多的内容,现在需要将姓名按照岗位分别填充到右侧表格对应的格,由于实际的数据量非常大,手工操作显然是比較复杂,有没有简单一些的方法呢?
我们可以借助公式完成这一引用任务,选择E2单元格,在编辑栏输入公式"=IF(ISNUMBER(FIND(OFFSET(E$1,,-MOD(COLUMN(B1),2》,$C2》,OFFSET($A2,,MOD(COLUMN(B1),2)),"")”,这里的COLUMN函数可以返回一个引用的列号,MOD函数返回两数相除的余数,OFFSET函数是以指定的引用为参照系,通过给定偏移量返回新的引用,FIND函数是返回一个字符串在另一个字符串中出现的起始位置,ISNUMBER函数可以检测一个值是否是数据,返回TRUE或FALSE,最后使用IF函数进行条件判断,满足条件显示相应的内容,否则显示空,公式执行之后向右、向下拖拽填充柄,很快就可以看到图2所示的效果。
或者也可以使用"=IF(ISERROR(FIND(INDIRECT(ADDRESS(1,INT《COLUMN()-1),2)+INT《COLUMN()+1),2))),$C2)>=1),"",INDIRECT(ADDRESS(ROW(A2),MOD(COLUMN(F1),2)+1)))"的公式,这里的INDIRECT函数可以返回文本字符串所指定的引用,ADDRESS函数可以创建一个以文本方式对工作簿中某一单元格的引用,INT函数可以将数值向下取整为最接近的整数,ISERROR函数用来检测一个值是否为#N/A以外的错误,返回TRUE或FALSE,其他函数的功用与前一个公式相似,公式执行之后向右、向下拖拽填充柄,可以得到图3所示的效果。endprint