Excel:如果在範圍中找到符合值的同列其他欄位值
什麼意思啊?如下:
A | B | C | |
1 | 07.10.05 | 五 | 38.10 |
2 | 07.10.08 | 一 | 40.40 |
3 | 07.10.11 | 四 | 40.70 |
4 | 07.10.12 | 五 | 39.10 |
5 | 07.10.15 | 一 | 41.50 |
左邊是1,2,3,4,5是列編號,上面(x)是欄編號。
如果我想要在 Excel 中,找到 C 欄 39.10 的日期(A欄位),以及 C欄 40.40 的日期(A欄位),該怎麼做?
一開始真的被問倒了呢!後來仔細研究了一下函數(微軟的說明真的很外星文,連範例都會出現錯植 =.=|||),找到以下的做法:
=INDEX($A$1:$C$5, MATCH(C4,$C$1:$C$5,0), 1)
就是用 Index 函數來找。Index 函數在這裡使用了三個引數(傳入參數):
- 要搜尋的範圍。用 $ 表示固定,所以 $A$1:$C$5 表示固定搜尋 A1:C5 的範圍。
- 在搜尋範圍中的相對列編號。
- 在搜尋範圍中的相對欄編號。
什麼是「在搜尋範圍中的相對列/欄編號」?意思就是給定的編號,是以選定的範圍做計算。例如在:B3:C6 範圍中,第 1 列第 1 欄指的就是 B3,第 2 列第 1 欄指的就是 C3,以此類推。
欄編號固定為 1,因為我要找的一定是 A 欄日期(A=1, B=2, C=3…以此類推)。
重點是列編號,我要怎麼知道 39.10 是在第 4 列呢?用 Match 函數。
Match 函數可以讓我們在陣列內比對某值,找出其在範圍中的相對位置(列編號)。
※陣列表示單欄或單列或一組常數。範圍則多欄多列。
所以透過 Match 函數,我們就可以找到 39.10 是在第 4 列啦!不過有個重點要注意,就是 Match 函數的第 3 個引數。第 1 個引數是比對值,第 2 個引數是搜尋陣列,第 3 個引數是比對方式。預設或不輸入表示 1,則比較之陣列比較採遞增排序(由小到大),否則找出來的位置會有錯。-1 則是採遞減排序(由大到小)。但是在這個範例中,我們的資料並沒有排序,這時就必須傳入 0,表示比對方式就是找到完全相符合的第 1 個位置,這樣才會正確。
--------
沒什麼特別的~
不過是一些筆記而已