Excel:如何在範圍中找到符合值的同列其他欄位值

  • 18610
  • 0

Excel:如果在範圍中找到符合值的同列其他欄位值

什麼意思啊?如下:

 ABC
107.10.0538.10
207.10.0840.40
307.10.1140.70
407.10.1239.10
507.10.1541.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 函數在這裡使用了三個引數(傳入參數):

  1. 要搜尋的範圍。用 $ 表示固定,所以 $A$1:$C$5 表示固定搜尋 A1:C5 的範圍。
  2. 在搜尋範圍中的相對列編號。
  3. 在搜尋範圍中的相對欄編號。

什麼是「在搜尋範圍中的相對列/欄編號」?意思就是給定的編號,是以選定的範圍做計算。例如在: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 個位置,這樣才會正確。

--------
沒什麼特別的~
不過是一些筆記而已