在excel中如何获取一个字符在字符串中最后一次出现的位置呀?

如题所述

  列出如下三种方法。1、2较为直接,但理解较难。

  3操作稍显麻烦,但是易于理解且可作其它相关输出。


  1、=MAX((MID(A1,ROW($A:$A),1)="A")*ROW($A:$A))

  该公式需要使用数组:Ctrl+shift+enter

  2、=LOOKUP(1,0/(MID(A1,COLUMN(1:1),1)="A"),COLUMN(1:1))

  3、VBA自定义函数

  Alt+F11打开VBA运行框

  插入模块

  复制如下代码到代码框内

  在该sheet内即可使用函数lastC函数,内部包含两个参数,字符串和查找的字符。

Function LastC(myRange As Range, myC As String)
If myRange = "" Or Len(myC) <> 1 Then
LastC = "参数错误"
Exit Function
End If
LastC = "未包含该字符"
Dim i As Single
For i = 1 To Len(myRange)
If Mid(myRange, i, 1) = myC Or Mid(myRange, i, 1) = UCase(myC) Or Mid(myRange, i, 1) = LCase(myC) Then
LastC = i
End If
Next
End Function
温馨提示:答案为网友推荐,仅供参考
第1个回答  2020-10-11

Excel一文本在另文本最后一个的位置自定义函数

第2个回答  推荐于2016-06-01
=MAX((MID(A1,ROW($A$1:$A$30),1)="A")*ROW($A$1:$A$30))
三键数组型输入本回答被提问者和网友采纳
相似回答