站長資訊網
        最全最豐富的資訊網站

        excel自定義函數 Contxt自定義函數的用法

        excel自定義函數 Contxt自定義函數的用法,周報、月報、半年報,每當你做這些報告的時候是不是非常的頭痛,但是話又說回來了,如果你多掌握一些辦公軟件相關的知識,或許會讓你負擔減少很多,excel自定義函數你是不是也經常遇到過,像excel自定義函數 Contxt自定義函數的用法這類問題,看完今天這篇文章你一定會有收獲!

        今天我們聊一聊“一勺匯”的終極殺手——將符合條件的多個結果合并到一個單元格內的自定義函數:Contxt函數。

        先說下啥是自定義函數,度娘是這么說的:

        用戶自定義函數是指如果要在公式或計算中使用特別復雜的計算,而工作表函數又無法滿足需要,則需要創建用戶自定義函數。這些函數,稱為用戶自定義函數,可以通過使用 Visual Basic for Applications 來創建。

        看起來很復雜的說,其實就是用VBA代碼寫個函數。

        當然嘍,我們今天聊的不是VBA代碼,而是自定義函數Contxt。——我們不需要知道Contxt的VBA代碼是怎么寫的,只需要知道Contxt是怎么用就好了。

        這就好比,我們想吃塊豬肉,還需要去養豬嗎?不需要的,去菜市場買點來炒就好了。

        今天我們就是去菜市場,買個Contxt帶回家用用。

        還是先來看一道題,如下圖所示,基礎數據是某個學院某些人的性別以及考試成績的信息(數據純屬虛擬,如有雷同,那是逆天)。

        excel自定義函數 Contxt自定義函數的用法

        現在老板發話咧,讓你統計一份不及格人員的名單,按性別和課類進行統計,統計的結果每個人名之間以空格間隔,結果參照下方所示。

        ——統計你妹,老板你到底懂不懂Excel啊,你這不符合數據規范……,你心里默默的念叨這么一句,然后該干什么還得干什么,苦悶到天亮。

        而如果你知道自定義函數Contxt,則可以瞬間秒殺此類問題。

        Contxt函數的功能其實就是一個高級的連接符,可以快捷將參數值捏合成一個字符串。除了錯誤值,啥都能接受并處理。

        比如:

        =Contxt(1,2,3)

        得到:123

        =Contxt(2013,"應用大全","火熱上市啦!")

        得到:2013應用大全火熱上市啦!

        =Contxt(A2:A3&",")

        數組運算后得到:祝洪忠,星光,

        以上述圖片問題為例,我們在B13輸入以下數組公式,按<Ctrl+Shift+Enter>組合鍵結束輸入,并復制填充到B13:C14區域,即可得出最終結果。

        =Contxt(IF(($B$2:$B$9=$A13)*(C$2:C$9<60),$A$2:$A$9&" ",""))

        說說這個公式的意思:

        IF(($B$2:$B$9=$A13)*(C$2:C$9<60),$A$2:$A$9&" ","")部分,是Contxt需要合并成一個字符串的數據。

        IF函數首先判斷B2:B9的值是否等于A13(男),再判斷C2:C9的值是否小于60(不及格),如果兩個條件同時成立,返回A列姓名連接上空格,否則返回假空。

        于是得到一個內存數組:

        {"";"星光 ";"";"";"";"";"郭輝 ";""}

        最后使用Contxt將IF函數的結果合并為一個字符串,得到最終結果:

        星光 郭輝

        瞧瞧,Contxt處理起“一勺匯”來,是不是很方便?!

        上面我們說了Contxt怎么用,下面我們來說下怎么去菜市場買個Contxt帶回家。

        1、打開VBE窗口

        右鍵單擊任意工作表標簽,在彈出的快捷菜單中選擇【查看代碼】命令。

        excel自定義函數 Contxt自定義函數的用法

        2、插入模塊

        在已打開的VBE窗口中,右鍵單擊【工程資源管理器】任意處,在彈出的快捷菜單中,依次單擊【插入】——【模塊】

        excel自定義函數 Contxt自定義函數的用法

        3、復制粘貼代碼

        將以下代碼復制粘貼到已激活模塊的代碼窗口中。

        PubliC FunCtion Contxt(ParamArray args() As Variant) As Variant

        Dim tmptext As Variant, i As Variant, Cellv As Variant

        Dim Cell As Range

        tmptext = ""

        For i = 0 To UBound(args)

        If Not IsMissing(args(i)) Then

        SeleCt Case TypeName(args(i))

        Case "Range"

        For EaCh Cell In args(i)

        tmptext = tmptext & Cell

        Next Cell

        Case "Variant()"

        For EaCh Cellv In args(i)

        tmptext = tmptext & Cellv

        Next Cellv

        Case Else

        tmptext = tmptext & args(i)

        End SeleCt

        End If

        Next i

        ConTxt = tmptext

        End FunCtion

        excel自定義函數 Contxt自定義函數的用法

        如此,我們就成功的將Contxt函數帶回家了,趕緊打發它去做點事吧。

        贊(0)
        分享到: 更多 (0)
        網站地圖   滬ICP備18035694號-2    滬公網安備31011702889846號
        主站蜘蛛池模板: 无码精品人妻一区| 国产亚洲精品自在久久| 久久99精品久久久久久hb无码 | 日本一卡精品视频免费| 国产精品尹人在线观看| 大伊香蕉精品视频在线导航| 亚洲日韩精品A∨片无码| 国产精品久久久99| 538国产精品一区二区在线| 亚洲精品高清无码视频| 午夜亚洲av永久无码精品| 国产午夜精品一区二区| 在线精品视频播放| 四虎成人www国产精品| 久久99国产精品久久99果冻传媒| 成人区精品一区二区不卡| 精品视频一区二区三三区四区| 一本久久a久久精品综合香蕉| 久久久久久无码国产精品中文字幕| 国产精品成人69XXX免费视频| 91久久精品国产91性色也| 欧美日韩精品一区二区三区| 国产精品55夜色66夜色| 91精品国产自产在线观看永久| 国产国产精品人在线视| 欧美精品v欧洲精品| 欧美精品亚洲精品日韩传电影 | 亚洲性日韩精品国产一区二区| 久久久久一级精品亚洲国产成人综合AV区 | 久久精品国产免费一区| 精品亚洲永久免费精品| 欧美黑人巨大精品| 亚洲国产综合91精品麻豆| 91精品观看91久久久久久| 日本精品一区二区三区在线观看 | 国产99久久精品一区二区| 国产精品成人A区在线观看| 国产成人精品白浆久久69| 97精品国产手机| 国产精品久久久久久影院| 久久99国产精品二区不卡|