【依比對的位置傳回指定欄位值】
又是一個繞口的標題…這是上一次介紹MATCH的用法後
另一個進階應用
MATCH可以傳回比對到值在指定範圍內的位置
例如:在A10:A19(共10個欄位),在A15找到,則傳回6(因為是第6個欄位找到)
請參閱 〔EXCEL〕MATCH-取得某值在表格中的順位--h014
我們可以再組合INDEX這個函數,可以取得該欄位內的值~
→先找到位置,再依其位置把值取回來
=INDEX( 範圍 , 第幾列 , [第幾欄,預設為0] )
=INDEX( A10:A19 , 6 ) ←回傳A15的值
=INDEX( A10:A19 , MATCH("章老師", A10:A19 , 0) )
這個例子,我們在A10:A19間找尋"章老師"…結果在A15找到
例用MATCH回傳的6,用INDEX的方式,在A10:A19間,取第6列,同一欄的資料。回傳的值就是「章老師」
好了,雖然我一直很想簡單講幾句就把它講完~但有時也很困難~
以下給各位一個我實務上的應用做參考
在CE19,我想抓C22~C25(也就是Q1~Q4目前累計的EPS)
因為EPS數據是自動帶進來的…不確定目前已取得第幾季的數據,且筆數很多,不可能每次自己去改取資料的位置。
但可以確認的是還沒有入的數據,資料內容為"-"
因此我可以這麼做
1.先用MATCH("-",CE22:CE25,0),傳回第一筆找到的-,回傳值為4
2.再用INDEX(CE22:CE25,MATCH("-",CE22:CE25,0)-1),取回前一列的值(記得-1),回傳值為1.92
這樣的組合就可以讓數據的變化是依來源資料自動更新了唷~
實務上有這樣的取值需求時,就再過來研究一下囉!
相關課程:
〔EXCEL〕MATCH-取得某值在表格中的順位--h014
章老師的電腦小講堂 https://www.facebook.com/ScenicSchool/
※※ 本區做為經常使用之程式碼複製區,提問請至小講堂唷 ※※