對于“多列并排”大家可能有點兒陌生,我們先來看一張圖:
從圖表中可以看出,在第一行的列标題中,“員工姓名”和“月薪”重複出現了多次,這就是并排;除了“員工姓名”列和“月薪”列之外,還可以根據實際需要添加列,這既是多列。
如何在這樣的數據表中查詢相應員工的月薪呢?
大家第一時間想到的肯定是變成1列,No,No,No……這不是我們的目的,我們的目的是在表格格式不變的情況下。
一、Vlookup函數法。
用此函數應該是大部分親的首選,因為查詢引用就是它的看家本領。但要實現多列并排的查詢,需要借助于Iferror函數來實現。
Iferror函數
功能:檢查指定的表達式是否有誤,如果有誤,則返回指定的值,否則返回表達式本身的值。
語法結構:=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函數的嵌套,當第一個Vlookup函數查詢不到值時,直接跳轉到第二個Iferror函數,用Vlookup函數進一步查詢……以此類推,所以理解Iferror函數的語法很關鍵哦!
2、用此方法的缺點也很明顯,公式較長,邏輯上容易出現錯誤,尤其是最後的右括号,不容易記清楚到底是幾個;如果列數較多,公式長度将成倍增長。
二、TEXTjoin函數法。
Textjoin函數為Office365新增函數,當然在WPS在也可以使用。
功能:使用分隔符連接到列表或文本字符串區域。
語法結構:=Textjoin(分隔符,TRUE或FALSE,字符串1,[字符串2]……)。
解讀:
1、第1個參數分隔符可以根據實際情況來定義。
2、第2個參數分為TRUE或FALSE2個值,TRUE代表包括空白單元格,FALSE代表不包括空白單元格。
目的:查詢員工對應的月薪。
方法:
在目标單元格中輸入公式:=TEXTJOIN(,1,IF($B3:$F12=J3,$C3:$G12,""))。
解讀:
示例中,巧用If函數把不符合條件的變成空,符合條件的連接在一起。
三、Concat函數法。
功能:連接列表或文本字符串區域。
語法結構:=Concat(字符串1,[字符串2]……)。
解讀:
此函數沒有連接符号,也沒有是否忽略空白單元格,直接将字符串連接到一起即可。
目的:查詢員工對應的月薪。
方法:
在目标單元格中輸入公式:=CONCAT(IF($B3:$F12=J3,$C3:$G12,""))。
四、Sumif函數法。
功能:對滿足條件的單元格求和。
語法結構:=Sumif(條件範圍,條件,[求和範圍])。
解讀:
當“條件範圍”和“求和範圍”相同時,可以省略“求和範圍”。
目的:查詢員工對應的月薪。
方法:
在目标單元格中輸入公式:=SUMIF(B3:F12,J3,C3:G12)。
最美尾巴:
目的是查詢引用,但在具體的操作過程中,巧妙應用了Textjoin、Concat、Sumif函數的特點,間接實現了查詢引用的功能,而且比Vlookup等函數實現起來要簡單,所以函數在具體的應用過程中,一定要變通,變通制勝!
更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!