3782 |
Excel如何填入名次項目資料 |
澹台璇:錦子老師您好,請問一下,AA、BB、CC排名次,最後呈現A欄位的代號,數字越大為1 → 越小為15排序,若為0則不輸入,請問這個公式要如何寫呢?謝謝您。
錦子老師:台璇,這個問題需要使用到多個函數,操作步驟如下:
以AA所在欄為例,由於我們是從第二列開始抓取資料,但要從第1名開始,所以將列號減一(ROW()-1),讓抓取的名次可以由1,2,3…N,透過LARGE函數來抓取指定範圍中所要的名次數值(LARGE($D$2:$D$16,ROW()-1))
LARGE(陣列或資料範圍,第幾大的值)
再透過MATCH函數傳回第幾大值在資料陣列或儲存格範圍中第幾列(MATCH(LARGE ($D$2:$D$16,ROW()-1),$D$2:$D$16,0))。
MATCH(搜尋值,搜尋陣列或範圍,比對方式)
再透過OFFSET函數傳回由A1儲存格移動N列(MATCH(LARGE($D$2:$D$16,ROW()-1),$D$2:$D$16,0)運算結果)儲存格內容(OFFSET($A$1,MATCH(LARGE($D$2:$D$16, ROW()-1),$D$2:$D$16,0),))。
OFFSET(參照位置,移動列數,移動欄數,[框選列數],[框選欄數])
由於O值不列入抓取,故使用IF函數判斷傳回儲存格內容是否為0(LARGE($D$2: $D$16,ROW()-1)=0),若是則不填入資料,若不是則填入OFFSET函數傳回的值(IF(LARGE ($D$2:$D$16,ROW()-1)=0,"",OFFSET($A$1,MATCH(LARGE($D$2:$D$16,ROW()-1),$D$2: $D$16,0),)))。
所以L2儲存格輸入公式:「=IF(LARGE($D$2:$D$16,ROW()-1)=0,"",OFFSET($A$1, MATCH(LARGE($D$2:$D$16,ROW()-1),$D$2:$D$16,0),))」,再將公式複製到L3:L16儲存格。
M2儲存格輸入公式:「=IF(LARGE($G$2:$G$16,ROW()-1)=0,"",OFFSET($A$1,MATCH (LARGE($G$2:$G$16,ROW()-1),$G$2:$G$16,0),))」,再將公式複製到M3:M16儲存格。
N2儲存格輸入公式:「=IF(LARGE($H$2:$H$16,ROW()-1)=0,"",OFFSET($A$1,MATCH (LARGE($H$2:$H$16,ROW()-1),$H$2:$H$16,0),))」,再將公式複製到N3:N16儲存格。
以上就是今天主要學習的知識點,希望對大家有所幫助~~有什麼問題歡迎留言,我會儘量及時的給大家答覆~~
更多相關影片教學:請點我
更多相關文章:請點我
留言列表