對于“多列并排”大家可能有點兒陌生乘碑,我們先來看一張圖:
從圖表中可以看出挖息,在第一行的列標題中,“員工姓名”和“月薪”重復出現(xiàn)了多次兽肤,這就是并排套腹;除了“員工姓名”列和“月薪”列之外,還可以根據(jù)實際需要添加列资铡,這既是多列电禀。
如何在這樣的數(shù)據(jù)表中查詢相應員工的月薪呢?
大家第一時間想到的肯定是變成1列笤休,No尖飞,No,No……這不是我們的目的,我們的目的是在表格格式不變的情況下葫松。
一瓦糕、Vlookup函數(shù)法。
用此函數(shù)應該是大部分親的首選腋么,因為查詢引用就是它的看家本領咕娄。但要實現(xiàn)多列并排的查詢,需要借助于Iferror函數(shù)來實現(xiàn)珊擂。
Iferror函數(shù)
功能:檢查指定的表達式是否有誤圣勒,如果有誤,則返回指定的值摧扇,否則返回表達式本身的值圣贸。
語法結構:=Iferror(值,表達式有誤時的返回值)。
示例:
在單元格中輸入:=IFERROR(1,"")扛稽,則返回1吁峻,即返回表達式本身的值。
在單元格中輸入:=IFERROR(#N/A,"錯誤")在张,則返回“錯誤”用含,因為代碼#N/A是錯誤代碼。
目的:查詢員工對應的月薪帮匾。
方法:
在目標單元格中輸入公式:=IFERROR(VLOOKUP(J3,B3:C12,2,0),IFERROR(VLOOKUP(J3,D3:E12,2,0),VLOOKUP(J3,F3:G12,2,0)))啄骇。
解讀:
1、從公式中可以看出瘟斜,總體上是Iferror函數(shù)的嵌套缸夹,當?shù)谝粋€Vlookup函數(shù)查詢不到值時,直接跳轉到第二個Iferror函數(shù)螺句,用Vlookup函數(shù)進一步查詢……以此類推虽惭,所以理解Iferror函數(shù)的語法很關鍵哦!
2蛇尚、用此方法的缺點也很明顯趟妥,公式較長,邏輯上容易出現(xiàn)錯誤佣蓉,尤其是最后的右括號,不容易記清楚到底是幾個亲雪;如果列數(shù)較多勇凭,公式長度將成倍增長。
二义辕、Textjoin函數(shù)法虾标。
Textjoin函數(shù)為Office365新增函數(shù),當然在WPS在也可以使用灌砖。
功能:使用分隔符連接到列表或文本字符串區(qū)域璧函。
語法結構:=Textjoin(分隔符,TRUE或FALSE,字符串1,[字符串2]……)傀蚌。
解讀:
1、第1個參數(shù)分隔符可以根據(jù)實際情況來定義蘸吓。
2善炫、第2個參數(shù)分為TRUE或FALSE2個值,TRUE代表包括空白單元格库继,F(xiàn)ALSE代表不包括空白單元格箩艺。
目的:查詢員工對應的月薪。
方法:
在目標單元格中輸入公式:=TEXTJOIN(,1,IF($B3:$F12=J3,$C3:$G12,""))宪萄。
解讀:
示例中艺谆,巧用If函數(shù)把不符合條件的變成空,符合條件的連接在一起拜英。
三静汤、Concat函數(shù)法。
功能:連接列表或文本字符串區(qū)域居凶。
語法結構:=Concat(字符串1,[字符串2]……)虫给。
解讀:
此函數(shù)沒有連接符號,也沒有是否忽略空白單元格排监,直接將字符串連接到一起即可狰右。
目的:查詢員工對應的月薪。
方法:
在目標單元格中輸入公式:=CONCAT(IF($B3:$F12=J3,$C3:$G12,""))舆床。
四棋蚌、Sumif函數(shù)法。
功能:對滿足條件的單元格求和挨队。
語法結構:=Sumif(條件范圍,條件,[求和范圍])谷暮。
解讀:
當“條件范圍”和“求和范圍”相同時,可以省略“求和范圍”盛垦。
目的:查詢員工對應的月薪湿弦。
方法:
在目標單元格中輸入公式:=SUMIF(B3:F12,J3,C3:G12)。
最美尾巴:
目的是查詢引用腾夯,但在具體的操作過程中颊埃,巧妙應用了Textjoin、Concat蝶俱、Sumif函數(shù)的特點班利,間接實現(xiàn)了查詢引用的功能,而且比Vlookup等函數(shù)實現(xiàn)起來要簡單榨呆,所以函數(shù)在具體的應用過程中罗标,一定要變通,變通制勝!