職場快與慢-第18期
前幾天,財務突然QQ上找我說有要事相商,當時我內心恐懼,小劇場一幕幕上演,難道這個月要拖欠工資了,難道我的報銷填寫錯誤了,我懷揣著一顆不安定的心,來到財務辦公室,原來財務再處理一個髮票問題時遇到了麻煩,於是我協助財務一起解決了整個問題;
那麼今天我們要講的職場小技巧就是Excel查詢1對多的4種解法
關注:公眾號/職場快與慢
在印象中Vlookp,lookup等只能查詢第一個出現的數據,那我們今天就用4種解法來處理1對多;
先看看原始錯誤案列;
我們的需求是,在I列,依次查找11月出現的所有發票號
我們通過寫vlookup發現:用單純的vlookup只能匹配查詢11月中出現的第一個數據,整個I列查找的都是重複的發票號,並不能滿足我們的需求;
那麼如何處理才能得到我們想要的數據呢?
01:
方法:函數透視表
當然我們財務知道這個方法,但是因為原始數據需要不斷變更,處理不方便,所以財務不使用,但是我們也講一下,因為這個簡單方便;
選擇數據源,插入透視表,月份放進篩選框,發票號放進行,完成;
02
方法:vlookup+row+countif+&(輔助列)
思路:利用輔助列把vlookup的條件放寬從而得出數據
step1:先添加第一列輔助列,求出11月出現的次數
step2:建立第二列輔助列,用A4&B4=11月1
這樣vlookup的每個11月的數據就變成不一樣的代號
step3:輔助列完成後,重新利用VLOOKUP然後得到我們要求的數據,最後下拉完成
03
方法:INDEX+SMALL+IF+ROW數組函數處理
解析:
1】INDEX(B:B,X):取B列第X行的數值
2】SMALL(A,B):取數組A中,第B個最小值
3】IF(A,B,C)如果A成立,B,否則 C
4】ROW()取行號
5】4^9取取一個很大的數值,可以是5^8,6^7等
6】&」「數字轉化為文本,避免公式下拉超過最後一個可提取數據時在單元格內產生0
7】本公式為數組公式,需按ctrl+shift+enter完成輸入
提取值:A列中等於I3,對應的B列的值
難點:=IF(Sheet1!A$4:A$18=$I$3,ROW($A$4:$A$18),4^9)
搜索框選中函數,按住F9,看範圍
數組{4,6,9,10,15,16} +ROW(A1),ROW(A2)意思為:
第1個最小值4
第2個最小值6
第3個最小值9
代表INDEX(B:B,4、6、9),對應的是{13233、19505...........}等
04
方法:計算值+INDEX+MATCH
當然方法不只4種,還有很多方法,如果大家無聊可以都試試看
關注公眾號,職場快與慢,免費獲得python學習資料