excel - 反向查找(从右到左,FINDrev)函数 Excel UDF
问题描述
我花了很长时间在 Excel 中搜索一个简单的 FIND-in-reverse 函数,发现一些公式对我的口味来说太长了(例如,如何在 Excel 中执行反向字符串搜索而不使用 VBA?)。
所以我最终创建了我自己更简单的一个,如下所示,它通过查找最后一个空格(或从右到左的第一个空格)的位置为您提供字符串中的最后一个单词。
=RIGHT(A1,FINDrev(” “,A1))
如果你在上面的句子上运行这个公式(放在单元格 A1 中),它会给你结果“左”。您只需定义一个 3 行 VBA UDF FINDrev() 并将其保存在永久可用的 xlam 插件中:
Public Function FINDrev(Find_text As String, Within_text As String)
FINDrev = Len(Within_text)-Len(Find_text)-InStrRev(Within_text, Find_text)+1
End Function
有没有人找到更简单的 FIND-in-reverse 解决方案?
解决方案
您可以尝试 VBA 内置函数InStrRev()
。
您可以在此处找到文档,https://docs.microsoft.com/en-us/office/vba/language/reference/user-interface-help/instrrev-function。
我会做一个这样的UDF。
Function myRightRev(find_text As String, Within_text As String) As String
myRightRev = Mid(Within_text, InStrRev(Within_text, find_text) + 1)
End Function
推荐阅读
- c - 根据偏移量和长度在数组中设置 bin 字段
- php - 如何访问侦听器中保存的实体?
- apache-flink - Flink DataSet 元组值未按预期出现
- python - 在没有 groupby 或调用 collect() 的情况下在 pyspark 中有效地查找 max(date)
- sqlite - 使用 SQLiteDatabase.rawQuery 返回整数列表
- couchbase - 对组的结果进行排序 - Couchbase
- google-apps-script - 将取消隐藏选项卡限制为某些用户
- asp.net-mvc - 如何处理其中一个模型出现错误的异常。视图中的模型[9]
- c - 理解具体C指针定义的学校作业
- android-architecture-components - 在分页库中,LiveData pagedList 更新的值在第一次后没有观察到活动