EXCEL-對數據的逆向查找

立題簡介:

內容:使用excel下的"Vlookup"或“match+index”函數實現逆向查找(從右至左查找);

來源:實際得出;

作用:使用excel下的"Vlookup"及“match+index”函數實現逆向查找(從右至左查找);

仿真環境:excel 2013;

日期:2020-04-19;

=====================分割線========================

立題詳解:

本次討論使用excel的"Vlookup"或“match+index”函數實現“逆向查找”(從右至左查找);

對設計而言,對理工科而言,大部分情況下,對office的excel應用並不高,大部分是集中於word或ppt;但在工作中,很多情況下,對excel的使用卻逐漸增加。個人在處理BOM數據時,經常涉及到數據的核對、檢索等等操作,在規範化的BOM中,需要將自己設計的sch對應BOM,與系統BOM對照起來,核心為“SN號”及“物料描述”。

但實際中,每個人的BOM會有差異,因此並不是每個BOM都能直接使用“正向查找”(從左至右),雖然可以使用重構BOM或數據表來處理,但這樣會“損壞原始數據”或“引入新數據”,同時會引入更多的“中間操作”。因此,查詢了資料後,瞭解了“逆向查找”(從右至左查找),感謝網友的無私分享。

-----------------------------------------

1、使用"Vlookup"

函數"Vlookup"只能實現“正向查找”(從左至右),不能直接實現“逆向查找”(從右至左查找);需要實現“逆向查找”(從右至左查找),最簡潔的方法是藉助“if函數”來進行,步驟如下:

第一步:整合,如下圖所示:

公式為:"=VLOOKUP(K2,IF({1,0},C:C,B:B),2,0)",要點:

i)、if函數:其實現了“數據換列”;if函數中使用了"大括號"("{}"),並配合"C:C"與"B:B",此2列確定了查找與所需結果列所在的位置;即:“查找範圍”僅僅侷限於“數據源”與“目標列”之間;

ii)、“查找列”:此處只能為“1”或“2”,寫為“2”,是因為“IF({1,0},C:C,B:B)”限定了數據區域;

截圖如下:


EXCEL-對數據的逆向查找

PS:此種方法,函數書寫簡潔,但要完全理解,需要花費一些時間;

2、使用match+index

個人而言,偏愛“match+index”,此方法簡單、高效,思維書寫的承繼關係更加直觀;

核心思路:先使用“match”獲取“目標所在行號”,再使用“index”獲取“目標值”;

第一步:獲取目標值所在行號:

公式為:"=MATCH(H2,表1_34[外部代號],0)"

要點1:第3個參數推薦寫"0"(數字0),應該表示“精確查找”;

要點2:通過此步,可獲得“目標所在的行號”,直接複製此公式備用;

截圖如下:

EXCEL-對數據的逆向查找

第二步:獲取目標值:

公式為:"=INDEX(表1_34[SN號],MATCH(H2,表1_34[外部代號],0),0)"

要點1:第2個參數為第一步中獲取行號的公式,之前已經複製;

要點2:第3個參數推薦寫"0"(數字0),應該表示“精確查找”;

截圖如下:

EXCEL-對數據的逆向查找


分享到:


相關文章: