只提供個思路, 如果A列只有對應最小年和最大年兩個數值, 而不是由幾年的話, 好辦一點.
將年份轉換成對應資料的min max年份, 然後進行vlookup
1. 建立2個輔助列. 找對應資料的min 和 max 年份, 用陣列函式輸入
=MIN(IF(A2:A10000=L2,I2:I10000)) 和 =MAX(IF(A2:A10000=L2,I2:I10000))
比如你的例子, min 列返回2007, max列返回 2011
2. 再建一個輔助列3, 判斷資料年份在min和max的位置
=if(M2 > = Max, max, if(M2>=Min, min, 0) ) 用283329為例, 2006, 返回0值, 2007 返回2007, 2012 返回2011
3. 第二步將位置轉換成左邊對應的位置後, 最後一步返回cover_pt就好辦了. 你需要一個合併之後的key column進行vlookup
if輔助列3 <>0, A+I 應該match L+輔助列3
+++++++++++++++++++++++++++++++++++++++++++++++
7月24 更新一下
想到一個簡單的方法:利用用Vlokup的模糊配對選項。
Vlookup的模糊配對lookup由小到大的排列數列返回最接近並小於配對數的對應數值
如下圖,
兩邊合併hs+yr 做一個key column,將KeyColumn A列排序之後(小到大) 。 如下圖一個lookup就可以了。
注意的是年數小於min的情況你要用IF函式額外處理一下。
KeyColumn format可以是text或者是number。(具體Excel怎麼判斷,我也不大清楚) 是text格式的話如果年數小於min,vlookup 返回#NA,是數字格式的話vlookup返回比lookup的數要小的數,比如上面J2就返回1(對應277772006)。個人意見還是把key column弄成數字格式比較保險。
這個方法有點麻煩地方是每次有新的加進去, 要重新排序KeyColumn
用高階篩選,結合換行公式char(10),能得到你要的結果,如果資料量比較大的好,修正一下公式就行。
只提供個思路, 如果A列只有對應最小年和最大年兩個數值, 而不是由幾年的話, 好辦一點.
將年份轉換成對應資料的min max年份, 然後進行vlookup
1. 建立2個輔助列. 找對應資料的min 和 max 年份, 用陣列函式輸入
=MIN(IF(A2:A10000=L2,I2:I10000)) 和 =MAX(IF(A2:A10000=L2,I2:I10000))
比如你的例子, min 列返回2007, max列返回 2011
2. 再建一個輔助列3, 判斷資料年份在min和max的位置
=if(M2 > = Max, max, if(M2>=Min, min, 0) ) 用283329為例, 2006, 返回0值, 2007 返回2007, 2012 返回2011
3. 第二步將位置轉換成左邊對應的位置後, 最後一步返回cover_pt就好辦了. 你需要一個合併之後的key column進行vlookup
if輔助列3 <>0, A+I 應該match L+輔助列3
+++++++++++++++++++++++++++++++++++++++++++++++
7月24 更新一下
想到一個簡單的方法:利用用Vlokup的模糊配對選項。
Vlookup的模糊配對lookup由小到大的排列數列返回最接近並小於配對數的對應數值
如下圖,
兩邊合併hs+yr 做一個key column,將KeyColumn A列排序之後(小到大) 。 如下圖一個lookup就可以了。
注意的是年數小於min的情況你要用IF函式額外處理一下。
KeyColumn format可以是text或者是number。(具體Excel怎麼判斷,我也不大清楚) 是text格式的話如果年數小於min,vlookup 返回#NA,是數字格式的話vlookup返回比lookup的數要小的數,比如上面J2就返回1(對應277772006)。個人意見還是把key column弄成數字格式比較保險。
這個方法有點麻煩地方是每次有新的加進去, 要重新排序KeyColumn