tft每日頭條

 > 圖文

 > if函數嵌套層數太多怎麼辦

if函數嵌套層數太多怎麼辦

圖文 更新时间:2025-04-26 15:51:20

在日常工作中經常會使用IF函數做判斷,有時判斷的條件比較多,一個IF“不夠用”就需要使用多個IF嵌套才能完成多條件判斷。比如下面這個例子。這是一份會員積分明細,我需要依據累計積分來劃分會員等級。

if函數嵌套層數太多怎麼辦(IF多重嵌套公式太長)1

劃分會員等級的依據如下圖所示。

if函數嵌套層數太多怎麼辦(IF多重嵌套公式太長)2

這種情況需要使用三個IF嵌套完成,在C2單元格輸入=IF(B2>=15000,"貴賓",IF(B2>=10000,"高級",IF(B2>=5000,"中級","普通")))

if函數嵌套層數太多怎麼辦(IF多重嵌套公式太長)3

這3個IF邏輯關系可以看下圖

if函數嵌套層數太多怎麼辦(IF多重嵌套公式太長)4

條件成立(true),條件不成立(FALSE)

解析:第一個IF判斷積分是否>=15000,如果條件成立,返回“貴賓”,如果不成立就“丢”給第二個IF判斷。

第二個IF判斷積分是否>=10000,如果條件成立,返回“高級”,如果不成立就“丢”給第三個IF判斷。

第三個IF判斷積分是否>=5000,如果條件成立,返回“中級”,如果條件不成立,這裡就無需在判斷了,因為以上3個都不成立,那肯定是<5000,直接返回“普通”

接着公式向下填充,判斷所有會員積分。

if函數嵌套層數太多怎麼辦(IF多重嵌套公式太長)5

如果經常使用函數的熟手,不會有什麼問題,但是這種嵌套函數對于新人朋友來說就比較“不友好”了。

新人易錯和疑問點:

1、邏輯沒理順,哪個條件要先寫,判斷4個條件為什麼隻需要3個IF?

2、各種标點符号容易搞錯,哪怕錯一個公式都會報錯

3、如果發生條件變更,新人難以維護公式(重新編輯)

那有沒有更簡單的方法?

有,必須有,下面就分享一個一勞永逸的方法,VBA自定義函數。

第一步、首先看下你的EXCEL這裡(下圖紅框處)有沒有開發工具

if函數嵌套層數太多怎麼辦(IF多重嵌套公式太長)6

如果沒有,就點擊上圖紅框最左邊的文件,然後在屏幕左側的菜單裡選擇選項,如下圖

if函數嵌套層數太多怎麼辦(IF多重嵌套公式太長)7

這個時候會彈出Excel選項,點擊自定義功能區——點擊開發工具——點擊确認

if函數嵌套層數太多怎麼辦(IF多重嵌套公式太長)8

現在開發工具就出現了

if函數嵌套層數太多怎麼辦(IF多重嵌套公式太長)9

第二步、粘貼代碼

點擊Visual Basic

if函數嵌套層數太多怎麼辦(IF多重嵌套公式太長)10

此時會彈出VBA編輯界面,接着點擊插入——點擊模塊

if函數嵌套層數太多怎麼辦(IF多重嵌套公式太長)11

此時模塊下面就會多了一個模塊1(紅框處),然後把代碼複制到模塊1的編輯界面裡,如下圖

if函數嵌套層數太多怎麼辦(IF多重嵌套公式太長)12

複制下面的代碼(黑色加粗部分)↓↓↓↓↓↓↓↓↓↓↓

Function 會員等級(判斷的單元格 As Range, 貴賓 As Integer, 高級 As Integer, 中級 As Integer)

If 判斷的單元格 >= 貴賓 Then

會員等級 = "貴賓"

ElseIf 判斷的單元格 >= 高級 Then

會員等級 = "高級"

ElseIf 判斷的單元格 >= 中級 Then

會員等級 = "中級"

Else

會員等級 = "普通"

End If

End Function

代碼解析(這裡不是代碼,不要複制):

1、代碼必須放在模塊中才能使用,所以一定要按照上面的操作步驟來,把代碼粘貼到模塊中。

2、Function 後面的會員等級這幾個字就是函數的名稱,是自定義的,可以修改,隻要不是Excel保留字就可以,比如不能叫代碼中的ELSE,因為這個詞在VBA中有自己特定的意思,屬于保留字。

3、代碼中的引号裡的中文也可以根據自己的要求修改。

3、代碼其實就是把我們寫在單元格中的IF挪到了這裡,隻要寫一次,未來都按這個套路走,起到一勞永逸的效果。

第三步、保存加載宏

點擊文件

if函數嵌套層數太多怎麼辦(IF多重嵌套公式太長)13

選擇另存為,此時先随意選擇一個路徑,如本例,我選擇了桌面。

if函數嵌套層數太多怎麼辦(IF多重嵌套公式太長)14

然後選擇保存類型,選擇Excel加載宏

if函數嵌套層數太多怎麼辦(IF多重嵌套公式太長)15

此時路徑會自動跳轉(紅框),就保存在這裡,點擊保存

if函數嵌套層數太多怎麼辦(IF多重嵌套公式太長)16

然後再次來到開發工具——點擊Excel加載項

if函數嵌套層數太多怎麼辦(IF多重嵌套公式太長)17

剛剛保存的加載宏文件名就已經在這裡了,點擊它,然後點擊确認。

if函數嵌套層數太多怎麼辦(IF多重嵌套公式太長)18

此時在這個電腦裡,新增的所有Excel工作簿,無需上面的操作,即可使用這個自定義函數。

4、使用自定義函數

如下圖,在D2單元格輸入=會員 就會彈出函數全名的提示

if函數嵌套層數太多怎麼辦(IF多重嵌套公式太長)19

可以點擊fx按鈕,在輸入框裡填入相關參數,這個自定義函數有4個參數

第一個參數,就是要判斷的單元格,輸入B2

第二、三、四參數分别填入貴賓、高級、中級的條件,15000、10000,、5000

然後點擊确認

ps:如果條件發生更改,比如貴賓條件提高到20000,直接修改第二個參數即可。

if函數嵌套層數太多怎麼辦(IF多重嵌套公式太長)20

也可以直接在編輯欄裡輸入=會員等級(B2,15000,10000,5000)

if函數嵌套層數太多怎麼辦(IF多重嵌套公式太長)21

然後向下填充公式,返回的結果跟IF多重嵌套返回的結果一緻,沒有問題。

if函數嵌套層數太多怎麼辦(IF多重嵌套公式太長)22

自定義函數跟Excel内置的函數是一樣的,可以用于嵌套使用。

好了,關于自定義函數劃分會員等級就分享到這裡。

如果這篇文章能幫助到你,請幫忙點贊,收藏,轉發。

關注我,獲取更多Excel實用技巧。

,

更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!

查看全部

相关圖文资讯推荐

热门圖文资讯推荐

网友关注

Copyright 2023-2025 - www.tftnews.com All Rights Reserved