Excel中自带的VLOOKUP函数无法实现俅獗肖硷逆向查找,需要MATCH和INDEX配合,并且如果没有查询到值,会啼矍囫砒返回错误,使用时还需嵌套IFEROOR函数。而这个函数使用比较频繁,本经验基于VBA自定义强大的函数功能,实现远胜于普通函数的效果,简单实用。
工具/原料
ExcelVBA功能
方法/步骤
1、打开一份Excel文件,如"莫浅北的函数库.xlsx",也可以新建工作表。
2、按ALT+F11进入vba编辑界面。新建模块:在打开的窗口,"插入"菜单选择"模块"。
3、录入如下代码:FunctionFINDD(讵症慧鹱STRAsString,RanAsRange,iAsInteger)'函数名称可以使用你习惯的方式命砘捃坑聒名,注意同时修改此代码所有的FINDD'使用vba的find函数,实现工作表的match、index功能DimrngAsRangeSetrng=Ran.Find(STR)IfNotrngIsNothingThenFINDD=rng.Offset(0,i)'右侧为正,左侧为负EndIfEndFunction
4、在工作表中使用公式=FINDD(查找字符,该字符所在列区域,向右偏移N列)如果是向左查询,最后一个参数使用负数即可。
5、另存为xlam启动加载项格式文件,比如"莫浅北的函数库.xlam"。
6、在开发工具选项卡-Excel加载项中勾选刚才的"莫浅北的函数库"挢旗扦渌;,这样,电脑中的Excel程序本身就可以使用自定义的公式了。