王志軍
最近在工作中遇到一個問題,如圖1所示,“崗位”列的單元格有很多的內(nèi)容,現(xiàn)在需要將姓名按照崗位分別填充到右側(cè)表格對應(yīng)的格,由于實際的數(shù)據(jù)量非常大,手工操作顯然是比較復(fù)雜,有沒有簡單一些的方法呢?
我們可以借助公式完成這一引用任務(wù),選擇E2單元格,在編輯欄輸入公式"=IF(ISNUMBER(FIND(OFFSET(E$1,,-MOD(COLUMN(B1),2》,$C2》,OFFSET($A2,,MOD(COLUMN(B1),2)),"")”,這里的COLUMN函數(shù)可以返回一個引用的列號,MOD函數(shù)返回兩數(shù)相除的余數(shù),OFFSET函數(shù)是以指定的引用為參照系,通過給定偏移量返回新的引用,F(xiàn)IND函數(shù)是返回一個字符串在另一個字符串中出現(xiàn)的起始位置,ISNUMBER函數(shù)可以檢測一個值是否是數(shù)據(jù),返回TRUE或FALSE,最后使用IF函數(shù)進(jìn)行條件判斷,滿足條件顯示相應(yīng)的內(nèi)容,否則顯示空,公式執(zhí)行之后向右、向下拖拽填充柄,很快就可以看到圖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函數(shù)可以返回文本字符串所指定的引用,ADDRESS函數(shù)可以創(chuàng)建一個以文本方式對工作簿中某一單元格的引用,INT函數(shù)可以將數(shù)值向下取整為最接近的整數(shù),ISERROR函數(shù)用來檢測一個值是否為#N/A以外的錯誤,返回TRUE或FALSE,其他函數(shù)的功用與前一個公式相似,公式執(zhí)行之后向右、向下拖拽填充柄,可以得到圖3所示的效果。endprint