目錄
- IF函數
- 等于判斷
- 區間判斷
- 與AND函數、OR函數一同使用
- IFNA函數和IFERROR函數
- FREQUNCY函數、分斷統計
- LEFT、RIGHT、MID截取函數
- FIND函數、LEN函數
- SUBSTITUTE函數
- ASC函數、WIDECHAR函數
- 實戰:如何獲取到表中所有工作簿名稱
- 文本處理函數
- TEXT函數
- TEXTJOIN函數
- 日期函數
- DATE函數
- YEAR、MONTH、DAY,EDATE函數
- Datedif函數
- Weeknum、Weekday函數
IF函數
等于判斷
-
參數:IF(logical_test, [value_if_true], [value_if false]
-
兩種情況:判斷是否超預算,如果C列的值大于B列,就是是,否則否!
-
公式:
=IF(C2>B2,“是”,“否”)
- 多重情況:
- 公式 =IF(B2=“易碎”,750,IF(B2=“一般”,300,0))
唯一要注意的地方,函數第三個參數就是否則的值,它是可以嵌套的!
區間判斷
- 下例子:如何根據工齡算年假
- 公式 =IF(B2<2,5,IF(B2<=5,10,15))
注意 Excel中的公式,是從左往右執行的;第一個參數是<2 ;所以第二參數的條件必定包含了>=2,然后繼續寫接下的判斷,再讓它<=5即可…對于區間只需以此類推即可!
與AND函數、OR函數一同使用
- “且”條件判斷
- 公式:=IF(AND(A2=“男”,B2>=60),1000,0)
Excel公式特性,實現“且”,利用一個單獨函數,然后成為IF的一個參數,來參與判斷條件!
- “或”條件判斷:
- 公式:=IF(OR(B11>60,B11<40),1000,0)
- “且”“或”嵌套
- 公式
=IF(OR(AND(A19=“男”,B19>60),AND(A19=“女”,B19<40)),1000,0)
IFNA函數和IFERROR函數
- VLOOKUP函數出現錯誤:
有一處值出現錯誤?因為源數據根本不存在“張三”,所以會返回#N/A值,那么如何避免呢?
-
最外層再嵌套一個IFNA函數即可,也可以是IFERROR函數
-
公式 =IFNA(VLOOKUP(F3,A:C,3,0),“”)
- IFERROR函數,可以屏蔽一切錯誤原因
- 公式 =IFERROR((B4-C4)/B4,“”)
FREQUNCY函數、分斷統計
- 函數參數:FREQUENCY(data_array, bins_array) 第一個參數是區域,第二個參數是分段間隔,如果是多個分段的話,它是一個數組,需要用大括號括起來!函數返回的是統計的個數!
- 實例計算下個區段的值,優于if的多重嵌套判斷!
- 統計報廢率
LEFT、RIGHT、MID截取函數
-
公式 =LEFT(A2,2)
-
公式 =RIGHT(A2,4)
- 公式 =MID(A2,3,2)
第二個參數表示從第幾位開始,第三個參數表示,總共幾位!
- 結合VLOOKUP函數一起使用
- 公式 =VLOOKUP(LEFT(B2,6)*1,地區碼!A:B,2,0)
FIND函數、LEN函數
-
FIND()用來找某個字符的位置,返回一個數值
-
參數:FIND(find _text, within_text, [start _num])
- 和截取函數組合使用,比如例中,需要提取用戶名,所以我們得先找到@符號在第幾位,然后位數-1,就是呀截取的用戶名!
公式:=LEFT(A2,FIND(“@”,A2)-1)
- LEN函數返字符串長度
- 嵌套,提取出域名
公式:=RIGHT(A2,LEN(A2)-FIND(“@”,A2))
總位數-“@”符號所在位置,就是right函數需要截取的位!
- 其他,提取域名方法,利用MID函數
公式 =MID(A2,FIND(“@”,A2)+1,1000)
找到@所在位數,開始取后面位數即可,1000是任意寫的一個大范圍,域名肯定沒那么長,所以能一次性取到后面所有的值!
SUBSTITUTE函數
-
substitute 就是函數版的替換工具,屬于文本型函數,輸出的內容也是文本!
-
參數&公式 =SUBSTITUTE(A2,“.”,“-”)*1
再轉化下格式,即可
- 實戰題:將手機號碼中間4位的內容,替換成*號
公式 =SUBSTITUTE(D2,MID(D2,4,4),“****”)
ASC函數、WIDECHAR函數
-
功能:ASC全角轉半角,widechar半角轉全角
-
ASC()
- widechar() 函數
實戰:如何獲取到表中所有工作簿名稱
- 獲取所有工作簿的名稱,我們需要用到一個宏表函數:get.workbook
具體步驟為點擊:公式→定義名稱;get.workbook(1)獲取工作簿名稱,get.workbook(4)獲取工作部數量!
- 用index函數調用:INDEX( name, ROW(F1)) 第二個參數,是ROW函數,里面選中第一行的任意位置都可以!這樣我們得到的結果是完整的表名,我們只需要把工作簿名稱截取出來就可以了!
- 利用MID函數,第二個參數填大一點都可以
MID( INDEX( name, ROW(F1)), FIND(“]”, INDEX(name,ROW(F1) ) )+1,1000 )
文本處理函數
TEXT函數
-
?TEXT 函數? 用于將數值轉換為特定格式的文本,從而靈活控制數據顯示形式!
=TEXT(value, “format_code”)
?value?:需要格式化的數值、日期或時間。
?format_code?:用雙引號包裹的格式代碼,定義輸出文本的樣式。 -
注意事項:
?TEXT 函數輸出為文本類型?,無法直接參與數值計算。
格式代碼需嚴格遵循規則,錯誤代碼會返回 #VALUE!。
日期/時間需確保原始數據是 Excel 認可的序列值。
可通過靈活組合格式代碼,TEXT 函數可以滿足復雜的數據顯示需求 -
如何自動生成金額大寫?
- 公式 :
=“人民幣:”&TEXT(B11,“[DBNum2][$-zh-CN]G/通用格式”)
右鍵金額,找到數字大寫的格式,自定義,復制到格式,用text函數來處理!
- 將日期格式化?:將日期序列值轉換為易讀的文本格式
=TEXT(TODAY(), “yyyy-mm-dd”) → 返回當前日期,如 “2023-10-05”
=TEXT(A1, “dddd, mmmm dd, yyyy”) → 若A1為2023/10/5,返回 "Thursday, October 05, 2
- 數字格式化為貨幣?:添加貨幣符號和千位分隔符
=TEXT(1234.5, “$#,##0.00”) → 返回 “$1,234.50”
=TEXT(500, “¥#,##0”) → 返回 “¥500”
- 百分比顯示?:將小數轉換為百分比形式
=TEXT(0.25, “0.00%”) → 返回 “25.00%”
=TEXT(0.75, “0%”) → 返回 “75%”
- 自定義數字格式?:控制小數位數或填充字符
=TEXT(123, “00000”) → 返回 “00123”(固定5位,不足補零)
=TEXT(3.1415, “0.00”) → 返回 “3.14”(保留兩位小數)
- 時間格式化?:轉換時間序列值為文本
=TEXT(NOW(), “hh:mm:ss AM/PM”) → 返回當前時間,如 “03:45:30 PM”
=TEXT(0.75, “h:mm”) → 返回 “18:00”(0.75天=18小時)
- 條件性文本顯示?:用格式代碼實現簡單條件
=TEXT(A1, “[>100]超額;不足”) → 若A1=150,返回 “超額”;若A1=80,返回 “不足”
- 電話號碼分段顯示?:格式化數字為電話號碼
=TEXT(13912345678, “000-0000-0000”) → 返回 “139-1234-5678”
- 結合文本拼接?:將格式化結果與其他文本組合
=TEXT(B2, “¥#,##0.00”) & " 元整" → 若B2=2500,返回 “¥2,500.00 元整”
- 常用格式代碼說明:
TEXTJOIN函數
-
功能:鏈接文字作用
-
公式 =TEXTJOIN(“-”,TRUE,A2:D2) 忽略空白,大多數情況下都是數據是一樣的
- 不忽略空白,面對數據不一樣的情況下!也方便以后對數據進行處理,比如說可以進行,按照分隔符分列!
再對數據進行“分列”還原一下!
日期函數
DATE函數
- 如何提取身份證中的生日信息?用到DATE函數!
- 公式 =DATE(MID(B2,7,4),MID(B2,11,2),MID(B2,13,2))
- DATE()函數,輸入值總能返回一個正確的日期!
YEAR、MONTH、DAY,EDATE函數
- 實際應用:計算結款日期
-
YEAR、MONTH、DAY都是取一個日期中的,年月日
-
公式=DATE(YEAR(A2),MONTH(A2)+B2,DAY(A2)-1)
- EDATE()函數
公式 =EDATE(A2,B2)
Datedif函數
- 用Datedif函數計算工齡,datedif函數可以計算時間間隔!
- 公式 =DATEDIF(A2,B2,“Y”)
參數1為開始日期;參數2為結束日期;參數3是要計算的間隔值,“Y”是年,“M”是月,“D”是天…
Weeknum、Weekday函數
- 如何計算當前日期,是第幾周?
- weeknum()函數
公式 =WEEKNUM(A3,2) 參數1是日期,參數2是選擇一周開始天是什么!
- weekday()函數
公式 =WEEKDAY(A3,2)
- 實操題:將周末標記為紅色
- 利用條件格式,加上weekday()函數來判斷
ALT H L H M 打開新建條件格式,使用公式確定要設置格式的單元格,輸入:weeekday(B1,2)>5
然后雙擊格式刷,將后面的日期統一一下格式即可!
- 這樣再修改開始日期后,依舊可以利用已經設置好的格式,標記出新日期的周末~~