Contxt自定义函数的用法
今天我们聊一聊一勺汇的终极杀手将符合条件的多个结果合并到一个单元格内的自定义函数:Contxt函数。
先说下羊角风最新疗法啥是自定义函数,度娘是这么说的:
用户自定义函数是指如果要在公式或计算中使用特别复杂的计算,而工作表函数又无法满足需要,则需要创建用户自定义函数。这些函数,称为用户自定义函数,可以通过使用 Visual Basic for Applications 来创建。
看起来很复杂的说,其实就是用VBA代码写个函数。
癫痫怎么去治疗当然喽,我们今天聊的不是VBA代码,而是自定义函数Contxt。我们不需要知道Contxt的VBA代码是怎么写的,只需要知道Contxt是怎么用就好了。
这就好比,我们想吃块猪肉,还需要去养猪吗?不需要的,去菜市场买点来炒就好了。
今天我们就是去菜市场,买个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$960),$A$2:$A$9 ,))
说说这个公式的意思:
IF(($B$2:$B$9=$A13)*(C$2:C$960),$A$2:$A$9 ,)部分,是Contxt需要合并成一个字符串的数据。
IF函数首先判断B2:B9的值是否等于A13(男),再判断C2:C9的值是否小于60(不及格),如果两个条件同时成立,返回A列姓名连接上空格,否则治疗癫痫病比较好医院返回假空。
于是得到一个内存数组:
{;星好的专科癫痫病医院光 ;;;;;郭辉 ;}
最后使用Contxt将IF函数的结果合并为一个字符串,得到最终结果:
星光 郭辉
瞧瞧,Contxt处理起一勺汇来,是不是很方便?!
上面我们说了Contxt怎么用,下哪家医院治癫痫最专业面我们来说下怎么去菜市场买个Contxt带回家。
1、打开VBE北京癫痫医院专家窗口
右键单击任意工作表标签,在弹出的快捷菜单中选择【查看代码】命令。
2、插入模块
在已打开的VBE窗口中,右键单击【工程资源管理器】任意处,在弹出的快捷菜单中,依次单击【插入】【模块】
3、复制粘贴代码
将以下代码复制粘贴到已激活模块的代码窗口中。
PubliC FunCtion Contxt(ParamArray args() As Variant) As Variant
Dim tm癫痫彻底根治ptext 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
如此,我们就成功的将Contxt函数带回家了,赶紧打发它去做点事吧。