在Excel中为TEXTAFTER函数使用通配符

nzkunb0c  于 2023-06-25  发布在  其他
关注(0)|答案(3)|浏览(135)

假设我有以下值
,t.RowCreated
,t.RowModified
,s.RowCreated
,s.RowModified
,q.RowCreated
,q.RowModified
,q.RowDeleted
(many more)
如你所见,逗号后面的字符可以是任何一个字符。
此列包含其他数据,因此在“.”之后使用简单的“.”对于此场景是不可行的。
我试图搜索一个模式的,*.”,以提取所有文本后。
我曾尝试使用下列公式,但没有成功
=TEXTAFTER(A1, ",?.")
=TEXTAFTER(A1, ",*.")
=TEXTAFTER(A1, ",~.")
我得到的结果是“#N/A”。
有人能帮忙吗?

aiqt4smr

aiqt4smr1#

另一种方法可以像这样使用TEXTAFTER()

·单元格B1中使用的公式

=TEXTAFTER(A1:A11,","&CHAR(ROW(97:122))&".",,,,"")
7kqas0il

7kqas0il2#

你可能已经过度简化了你的样本数据,所以我不确定这是否适用。TEXTSPLIT()不支持通配符功能。但你可以只嵌套其中两个:

B1中的公式:

=IFERROR(TEXTAFTER(TEXTAFTER(A1:A11,","),"."),"")

如果你正在寻找一个单一字符的子串,你可以用途:

=TEXTAFTER(A1,","&MID(A1,SEQUENCE(LEN(A1)),1)&".")
huwehgph

huwehgph3#

获取野生字符周围字符后的文本

  • 这只对?野生字符有效,因为它将其视为Len(p)中的单个字符。
=LET(d,A2:A8,p,",?.",n,"",IFERROR(RIGHT(d,LEN(d)-SEARCH(p,d)-LEN(p)+1),n))
  • 使其更加灵活,即为了另外允许使用*野生字符,您可以使用下面使用3个分隔符(fd, wd, sd)野生字符(wd)在中间。
=LET(d,A2:A8,fd,",",wd,"*",sd,".",n,"",
    IFERROR(TEXTAFTER(RIGHT(d,LEN(d)-SEARCH(fd&wd&sd,d)-LEN(fd)),sd),n))
  • 减去第一个分隔符(-Len(fd))的长度是为了避免如果野生字符表示的字符串以第二个分隔符(sd)开始时出现错误的结果。

相关问题