最近工作中用到EXCEL統(tǒng)計(jì)處理一些數(shù)據(jù),正好之前有自學(xué)了一段時(shí)間的EXCEL,這次正好用上。為了加深印象,以后方便翻閱,就記錄下來(lái)。這篇會(huì)不斷補(bǔ)充。
IF 多條件判斷返回值
IF(logical_test, [value_if_true], [value_if_false])
示例: 小于500,且未到期的,返回“補(bǔ)款”
IF(AND(A2<500,B2='未到期'),'補(bǔ)款','')
職稱為工程師或高工的,返回“滿足”
IF(OR(C3='工程師', C3='高工'),'滿足','')
說(shuō)明:兩個(gè)條件同時(shí)成立用AND,任一個(gè)成立用OR函數(shù)。
IFS 多場(chǎng)景判斷返回值
IFS(logical_test1,value_if_true1, logical_test2, value_if_true2, ...)
示例:
在一列中,根據(jù)不同的判斷條件,給出符合條件的值
IFERROR 把公式產(chǎn)生的錯(cuò)誤值顯示為自定義值
IFERROR(value, value_if_error) 第一個(gè)參數(shù)為需要判斷的計(jì)算式,第二個(gè)參數(shù)為當(dāng)?shù)谝粋€(gè)參數(shù)出錯(cuò)時(shí)要返回的值。
示例:成績(jī)低于60,不及格
IFERROR(A2>=60,'不及格')
COUNTIF 單條件計(jì)數(shù)
COUNTIF(range, criteria)
示例:統(tǒng)計(jì)E列工資大于6000的人員數(shù)
COUNTIF(E:E, '>6000')
COUNTIF(E:E, '>'&M9) 假設(shè)M9單元格內(nèi)容為6000
COUNTIFS 多條件計(jì)數(shù)
COUNTIFS(criteria_range1, criteria1, criteria_range2, criteria2, ...)
示例:統(tǒng)計(jì)屬于銷售部門,工資大于6000的員工人數(shù)
COUNTIFS(D:D, '銷售', E:E, '>6000')
SUMIF 按條件在查找區(qū)域進(jìn)行查找,并返回查找區(qū)域?qū)?yīng)的數(shù)據(jù)區(qū)域中數(shù)值的和
SUMIF(range, criteria, [sum_range])
示例:當(dāng)不指定SUM_RANGE時(shí),將直接對(duì)RANGE區(qū)域求和
SUMIF(C:C, '>1000'), 對(duì)大于1000的單元格求和
SUMIF(B:B, '果汁', C:C), 對(duì)B列為果汁對(duì)應(yīng)的C列銷量求和
SUMIFS 多條件組合的數(shù)據(jù)求和
SUMIFS(sum_range, criteria_range1, criteria1, criteria_range2, criteria2, ...)
示例: 統(tǒng)計(jì)生產(chǎn)部門,男性工資的總和
SUMIFS(K:K, D:D, '生產(chǎn)', C:C, '男')
AVERAGEIF, AVERAGEIFS和SUMIF, SUMIFS類似
VLOOKUP, HLOOKUP 搜索用戶查找范圍中首列(或首行)中滿足條件的數(shù)據(jù),并根據(jù)指定的列號(hào)(行號(hào))返回對(duì)應(yīng)的值。VLOOKUP對(duì)列數(shù)據(jù)按行進(jìn)行查找,HLOOKUP對(duì)行數(shù)據(jù)按列查找
VLOOKUP(lookup_value, table_array, col_index_num, [range_lookup])
HLOOKUP(lookup_value, table_array, row_index_num, [range_lookup])
[range_lookup]默認(rèn)值為1或TRUE,使用模糊匹配方式進(jìn)行查找。如果設(shè)置成0或FALSE,使用精確查找,同時(shí)支持無(wú)序查找。
示例:查找員工號(hào)為2267的員工姓名
VLOOKUP('2267', A1:D4, 2)
LEN 返回文本串的字符個(gè)數(shù)
LEN(text)
SUBSTITUTE 將目標(biāo)文本中指定的字符串替換為新的字符串
SUBSTITUTE(text, old_text, new_text, instance_num)
示例:
將第二個(gè)狐替換成虎
SUBSTITUTE('狐假狐威', '狐', '虎', 2)
計(jì)算單元格中MANUAL字符的個(gè)數(shù)
(LEN(J13)-LEN(SUBSTITUTE(J13,'MANUAL',)))/LEN('MANUAL')
INDEX 根據(jù)給定的一個(gè)范圍(區(qū)域引用或數(shù)組)中指定的行號(hào)和列號(hào)來(lái)返回一個(gè)值,如果源數(shù)據(jù)是區(qū)域,則返回單元格引用;如果源范圍是數(shù)組,則返回?cái)?shù)組中的某個(gè)值。
INDEX(reference, row_num, [column_num], [area_num])
INDEX(array, row_num, [column_num])
示例:從左側(cè)的數(shù)據(jù)表隔行提取,生成新的工作表
E4:INDEX($C$3:$C$8, ROW(A2)*2-1)
F4:INDEX($C$3:$C$8,ROW(A2)*2)
SMALL 取指定的第N小的值
SMALL(array, K)
示例:
取第一小的值
SMALL({10,15,20},1.5)等同于SMALLSMALL({10,15,20},1),結(jié)果為10
LARGE 取指定的第N大的值,與SMALL相反
VBA
示例:
在一列中,填入其他一列需求名中的ID號(hào),ID號(hào)會(huì)是重復(fù)的,但在另外一個(gè)OtherSheet中已經(jīng)有B列對(duì)應(yīng)所有的ID號(hào)。先模糊匹配上ID號(hào),再返回ID號(hào)為單元格值。
E17=VaildReq(OtherSheet!B:B,B17)
VBA代碼:
Function VaildReq(rng1 As Range, s As String) As String Dim Arr1 Dim r As Long r = rng1.End(xlDown).Row - rng1.Row + 1 Arr1 = rng1.Resize(r, 1) Dim i As Long For i = 1 To UBound(Arr1) If InStr(s, Arr1(i, 1)) Then If VaildReq = '' Then VaildReq = Arr1(i, 1) Else VaildReq = s End If Next End Function
當(dāng)EXCEL添加了VBA代碼時(shí),保存EXCEL得另存為 EXCEL啟用宏的工作簿(*.xlsm)格式。
聯(lián)系客服