3069 |
Excel怎麼抓取有規則儲存格? |
孫建平:錦子老師您好,請教一下,請問怎麼有規則抓取儲存格,公式該怎麼下呢?如圖示範~麻煩了!!
錦子老師:這個問題解決方法會用到一堆函數,解法如下:
步驟1:點取D2儲存格輸入公式:
=IF(OFFSET($A$2,ROW(A1)*4-3+CHOOSE(MOD(ROW()-2,3)+1,0,2,0),0)=0,"",OFFSET($A$2,ROW(A1)*4-3+CHOOSE(MOD(ROW()-2,3)+1,0,2,0),0))
再將公式複製到D3:D7儲存格。
【公式說明】
=IF(OFFSET($A$2,ROW(A1)*4-3+CHOOSE(MOD(ROW()-2,3)+1,0,2,0),0)=0,"",OFFSET($A$2,ROW(A1)*4-3+CHOOSE(MOD(ROW()-2,3)+1,0,2,0),0))
公式1:MOD(ROW()-2,3)
傳回目前列編號減2除以3的餘數,因為各有姓名、身高、體重資料,所以用MOD函數將目前列號除以3的餘數來調整抓取位置。
公式2:CHOOSE(公式1+1,0,2,0)
將公式1的結果加以1,傳回對應CHOOSE參數幾的值,二筆資料分別位於3,9,11,15,21,23列,二筆資料中姓名與身高資料差6列,故利用CHOOSE來調整抓取身高資料位置,姓名與體重都不需調整故為0,而身高需調整2才可準確對應到其位置。
公式3:OFFSET($A$2,ROW(A1)*4-3+公式2,0)
傳回從A2儲存格開始移動N(A1儲存格列號乘4減3再加上公式2的結果)列,主要是在抓取每個有資料儲存格的位置,姓名資料位置運算(A2,1*4-3+0)=A3、身高資料位置運算(A2,2*4-3+2)=A9、體重資料位置運算(A2,3*4-3+0)=A11,第二筆姓名位置運算(A2,4*4-3+0)=A15。
公式4:IF(公式3=0,"", 公式3)
如果公式3傳回0,則不填入資料,否則填入公式3的結果。
步驟2:點取C2儲存格輸入公式:
=IFERROR("A"&MATCH(D2,A1:A24,0),"")
再將公式複製到C3:C7儲存格。
【公式說明】
=IFERROR("A"&MATCH(D2,A1:A24,0),"")
公式1:MATCH(D2,A1:A24,0)
將D2儲存格內容到A1:A24儲存格範圍中以完全比對方式找尋,若找到傳回其位在第幾列。
公式2:IFERROR("A"&公式1,"")
如果公式1傳回錯誤訊息,則不輸入資料,否則輸入A字元加上公式1的結果。
以上就是今天主要學習的知識點,希望對大家有所幫助~~有什麼問題歡迎留言,我會儘量及時的給大家答覆~~
更多相關影片教學:請點我
更多相關文章:請點我
留言列表