Excel获取从第n个位置到字符串末尾的子字符串

标签 excel excel-formula

那么如何从第n个位置获取子字符串直到字符串的末尾?

在单元格 A1 Name: Thomas B. 处输入

预期输出:Thomas B.
我知道一些方法,但我想知道是否还有其他优雅的方法? (某种=RIGHT(A1, -6) ....)

  • =MID(A1, 6, 999999)//999999看起来不太好
  • =MID(A1, 6, LEN(A1) - 5)//必须计算2次,先获取len,再获取子串,好像太多了?
  • 最佳答案

    代替

    正如多米尼克已经写道:
    “为什么不直接用空字符串替换前六个字符?”

    =REPLACE(A1,1,6,"")
    


    我已经进行了一些时间测量,但在 50000 条记录时差异不到一秒(对于 LEFTMIDREPLACESUSTITUTE )。所以恐怕优雅 这就是你将要得到的一切。

    一项小型研究

    我创建这项研究是因为当您从第 n 个字符开始说时,您的 n -th 字符是 7 (你的 MID -s 是错误的),但你想删除第一个 n-1 ( 6 ) 个字符。因此,根据您提出问题的方式,您可能在 RIGHT 中采用不同的方法。或 MID ,你会记得REPLACESUBSTITUTE或者你可能不会。

    enter image description here

    A1 (*) 和 B1 (#, ?, *) 的小型学习公式

    获取从第 N 个字符到结尾的字符串,例如7
    =RIGHT(A1,LEN(A1)-(B1-1))
    =RIGHT(A1,LEN(A1)-B1+1)
    

    =RIGHT(A1,LEN(A1)-6)
    

    =MID(A1,B1,LEN(A1)-(B1-1))
    =MID(A1,B1,LEN(A1)-B1+1)
    =MID(A1,B1,LEN(A1))
    =MID(A1,7,LEN(A1)-6)
    

    =MID(A1,7,LEN(A1))
    


    删除字符串的 N 个首字符,例如6
    =RIGHT(A1,LEN(A1)-B1)
    =RIGHT(A1,LEN(A1)-6)
    =MID(A1,B1+1,LEN(A1)-B1)
    =MID(A1,B1+1,LEN(A1))
    =MID(A1,7,LEN(A1)-6)
    =MID(A1,7,LEN(A1))
    

    在字符后获取字符串,例如""
    =RIGHT(A1,LEN(A1)-(FIND(B1,A1)))
    =RIGHT(A1,LEN(A1)-(FIND(" ",A1)))
    =MID(A1,FIND(B1,A1)+1,LEN(A1)-FIND(B1,A1))
    =MID(A1,FIND(B1,A1)+1,LEN(A1))
    =MID(A1,FIND(" ",A1)+1,LEN(A1)-FIND(" ",A1))
    =MID(A1,FIND(" ",A1)+1,LEN(A1))
    

    在字符串之后获取字符串,例如": "
    =RIGHT(A1,LEN(A1)-(FIND(B1,A1)+LEN(B1))+1)
    =RIGHT(A1,LEN(A1)-FIND(B1,A1)-LEN(B1)+1)
    =RIGHT(A1,LEN(A1)-FIND(": ",A1)-LEN(": ")+1)
    =MID(A1,FIND(B1,A1)+LEN(B1),LEN(A1)-(FIND(B1,A1)+LEN(B1))+1)
    =MID(A1,FIND(B1,A1)+LEN(B1),LEN(A1)-FIND(B1,A1)-LEN(B1)+1)
    =MID(A1,FIND(B1,A1)+LEN(B1),LEN(A1))
    =MID(A1,FIND(": ",A1)+LEN(": "),LEN(A1)-FIND(": ",A1)-LEN(": ")+1)
    =MID(A1,FIND(": ",A1)+LEN(": "),LEN(A1))
    

    返回删除字符串的前 N ​​个字符,例如6

    =SUBSTITUTE(A1,LEFT(A1,6),"",1)
    
    =REPLACE(A1,1,6,"")
    

    关于Excel获取从第n个位置到字符串末尾的子字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54880997/

    相关文章:

    excel - 如何获取当前月份?

    c# - Xceed Datagrid ExportToExcel .xml/.xls/.xlsx 格式

    excel - 如果工作表编号/名称是变量/变体,则在公式中引用下一个或上一个工作表

    excel - 如何捕捉#REF!在 Excel 中?

    excel - Excel 中的 MID 和 FIND 逻辑(带空格)

    Excel IF AND 语句在 true 时返回 false

    excel - 从文本中导入最多 n 行

    forms - 在 VBA 中的帧之间拖放

    excel - 如何在多行/单元格上书写

    vba - 使用多个条件查找所有结果