如何在Excel中通过函数找到最后一个匹配项目
2009-05-28 21:55
405 查看
今天被网友问到这样一个问题:
这个问题很多朋友都会想到用vlookup去解决。但事实是vlookup函数可能达不到目的。我们一般可以通过自定义函数来解决,这样的话,逻辑再复杂也可以处理。 下面我写了一个简单的函数,它就是循环,从后往前找,找到匹配的就不找了。这与vlookup函数的从前往后找的原理是相反的。
Function GetLastPriceValue(coderng As Range) As Variant '这个函数是用来取得最近的一个单价的 '输入参数coderng指的是条件代码的单元格 '大致使用的方法就是:GetLastPriceValue(B16)这样即可 Dim v As Variant v = coderng.Value Do While coderng.Row > 1 Set coderng = coderng.Offset(-1) If coderng.Value = v Then GetLastPriceValue = coderng.Offset(, 5).Value GoTo Exit_Func End If Loop Exit_Func: End Function
另外,这位朋友也问到,如何在函数中删除某行数据?
关于通过公式删除数据,不少朋友都有这样的想法,但是:不可以。(你确实可以写删除的语句,但不会有效果的)
这个问题很多朋友都会想到用vlookup去解决。但事实是vlookup函数可能达不到目的。我们一般可以通过自定义函数来解决,这样的话,逻辑再复杂也可以处理。 下面我写了一个简单的函数,它就是循环,从后往前找,找到匹配的就不找了。这与vlookup函数的从前往后找的原理是相反的。
Function GetLastPriceValue(coderng As Range) As Variant '这个函数是用来取得最近的一个单价的 '输入参数coderng指的是条件代码的单元格 '大致使用的方法就是:GetLastPriceValue(B16)这样即可 Dim v As Variant v = coderng.Value Do While coderng.Row > 1 Set coderng = coderng.Offset(-1) If coderng.Value = v Then GetLastPriceValue = coderng.Offset(, 5).Value GoTo Exit_Func End If Loop Exit_Func: End Function
另外,这位朋友也问到,如何在函数中删除某行数据?
关于通过公式删除数据,不少朋友都有这样的想法,但是:不可以。(你确实可以写删除的语句,但不会有效果的)
相关文章推荐
- 如何在Excel中通过函数找到最后一个匹配项目
- 如何通过HOOK改变windows的API函数(找到函数的相对偏移)
- 如何在PB下通过OLE调用EXCEL的财务函数IRR(内部投资收益率)函数(原创)
- 急求思想--现在有一个3维模型的数据库,和有一张照片,如何从数据库中找到一个模型与图片匹配 求思想
- 如何解决闭包只能取得包含函数中任何变量的最后一个值
- JAVA入门之如何通过 POI 读取并修改 Excel(转载)
- vs2012创建项目出现“未找到与约束匹配的导出”解决
- 如何在互联网中找到利润高的项目?
- zookeeper编程--如何通过zookeeper动态初始化项目属性值
- tomcat设置如何通过ip直接访问项目
- 如何通过SAS ODS输出到excel的多个worksheet里
- 在Java中如何通过反射找到一个变量,这个变量的类型是指定的类型
- 如何通过使用 SQL Server 中的 Detach 和 Attach 函数将 SQL Server 数据库移到新位置(转载)
- excel VLOOKUP 函数使用跨Sheet抓取匹配数据列
- platform_driver_register,什么时候调用PROBE函数 注册后如何找到驱动匹配的设备
- 如何通过 SQL Server 链接服务器和分布式查询使用 Excel
- 通过符号表找到系统未导出的函数地址源码
- 【郝斌数据结构自学笔记】6-7_所有的指针变量只占4个子节,如何通过函数修改实参的值
- 如何通过WPS 2013 API 将Office(Word、Excel和PPT)文件转PDF文件
- 如何通过WPS 2013 API 将Office(Word、Excel和PPT)文件转PDF文件