今天跟大家分享15個Excel函數公式的套路,如果遇到類似的問題,直接套用即可,話不多說我們開始吧
1. 查找重複值
公式:=IF(COUNTIF(A$2:A2,A2)=1,"","重複")
首選我們利用countif函數進行條件計數,然後使用if函數進行判斷當其結果等於1時代表不重複,當不等於1時候代表重複
2. 身份證號碼提取出生日期
公式:=--TEXT(MID(A2,7,8),"0-00-00")
首先利用mid函數提取出身份證號碼中的出生年月,然後利用text函數設置為日期格式,最後利用兩個減號,將文本格式轉換為日期格式,為什麼還需要轉換格式呢?因為text是文本函數,經過text函數轉換過的數據都是文本格式
3. 身份證號碼中提取性別
公式:=IF(MOD(MID(A2,17,1),2)=1,"男","女")
性別只與身份證號碼第17位有關係,當第17位為奇數則為男,為偶數則為女,所以我們利用mid函數提取第17位數字,然後利用mod函數判斷奇偶,最後利用if函數判斷
4. 身份證號碼中提取年齡
公式:=DATEDIF(B2,TODAY(),"y")
DATEDIF函數是一個隱藏函數,用於計算兩個日期時間差
5. vlookup進行多條件查找
公式:{=VLOOKUP(E2&F2,IF({1,0},A2:A10&B2:B10,C2:C10),2,0)}
第一參數:我們將查找值通過使用&字符合併為一項
第二參數:我們利用if函數和數組構建一個二維數組,如下圖所示
第三參數:2,在二維數組中得分在第二列,所以為2,
第四參數為0,為精確匹配
6. 使用vlookup進行反向查找
公式:=VLOOKUP(E2,IF({1,0},C2:C10,A2:A10),2,0)
我們都知道使用vlookup函數一般是從左往右查找,當我們想從右往左查找就要用到vlooup函數的反向查找,與多條件查找類似,都是構建二維數組進行查找
7. 隔行求和
公式:=SUMPRODUCT((MOD(ROW(C2:L7),2)=1)*C2:L7)
首先我們利用mod函數判斷為奇數列的行號,然後在利用SUMPRODUCT的數組特性進行求和
8. 隔列求和
公式:=SUMPRODUCT((MOD(COLUMN(B3:G12),2)=1)*B3:G12)
跟隔行求和類似,先判斷奇數列號,然後進行求和
9. 統計不重複個數
公式:=SUMPRODUCT(1/COUNTIF(A2:A10,A2:A10))
首先利用countif條件計數,算出重複次數,然後利用1除以重複數,這裡為什麼用1除以呢,比如當數據出現兩次,countif函數就會算出兩個2,然後用1分別除以兩個2結果為1/2最後利用SUMPRODUCT函數,兩個1/2會相加得到1
10. 中國式排名
公式:=SUMPRODUCT(($B$2:$B$8>B2)*1)+1
使用SUMPRODUCT判斷成績大於它自己本身的數據,因為沒有等於所有加1
11,單條件計數
公式:=SUMPRODUCT((B2:B16=$G$3)*1)
首先判斷部門所在區域等於成型車間的單元格,當正確時返回true可以看做是1,錯誤時返回false可以看做是0,最後在結果後乘以1
12. 可見單元格求和
公式:=SUBTOTAL(109,B2:B10)
當SUBTOTAL的第一參數為100以上的時候,就會僅對可見區域求和
13. 雙向查找
公式:=INDEX(A1:E10,MATCH(G2,A1:A10,0),MATCH(H2,A1:E1,0))
利用match函數分別找到姓名以及科目所在的行列標號,然後利用index函數取出結果
14. 提取左邊的字符串
公式:=-LOOKUP(1,-LEFT(D2,ROW($1:$30)))
首先我們使用ROW($1:$30)構建一個1到30的序列數組,如果你的數據比較長可以適當增大,然後利用left函數對字符串提取30次,我們又在left函數前面添加了負號,而又在其前面添加了負號將提取數據轉換為數值當提取出來的數據為文本是會返回錯誤值,因為使用lookup函數函數默認是升序排列的所以函數會返回最後一個正確的值,而最後一個正確值恰恰是我們要提取的值,最後添加負號將負數轉換為正數
15. 提取右邊的數據
公式:=-LOOKUP(1,-RIGHT(A2,ROW($1:$30)))
這個跟從左提取數據是一樣的,只不過是將left函數換成了right函數
怎麼樣,這15個函數套路你你都知道嗎
我是Excel從零到一,關注我持續分享更多excel技巧
覺得有用,麻煩點個「在看」吧
👇👇👇