我有一列的值类似于“ABCRSETCMS 4008-M05”。请注意,如果第一个“-”前面的字符超过12个,我希望将其修剪为12个字符。因此,修剪后的值应为“ABCRSETCMS 40-M05”。如何在Excel中执行此操作?应使用什么公式?另外,有些值少于12个字符,我不想影响这些值。
kwvwclae1#
对于Excel,请尝试-
=LEFT(TEXTBEFORE(A1,"-"),12)&"-"&TEXTAFTER(A1,"-")
对于google-sheet,请尝试-
google-sheet
=LEFT(INDEX(SPLIT(A1,"-"),1,1),12)&"-"&INDEX(SPLIT(A1,"-"),1,2)
jucafojl2#
也许您可以尝试在MS365中使用TEXTSPLIT()
MS365
TEXTSPLIT()
·单元格B2中使用的公式
B2
=TEXTJOIN("-",,LEFT(TEXTSPLIT(A2,"-"),12))
单位:Google Sheets
Google Sheets
=JOIN("-",INDEX(LEFT(SPLIT(A2,"-"),12)))
6za6bjd03#
我想这是一个GS问题,如果是这样,试着使用REGEXREPLACE():
REGEXREPLACE()
=REGEXREPLACE(A1,"^([^-]{12})[^-]*","$1")
对于值范围:
=INDEX(IF(A1:A="","",REGEXREPLACE(A1:A,"^([^-]{12})[^-]*","$1")))
3条答案
按热度按时间kwvwclae1#
对于Excel,请尝试-
对于
google-sheet
,请尝试-jucafojl2#
也许您可以尝试在
MS365
中使用TEXTSPLIT()
·单元格
B2
中使用的公式单位:
Google Sheets
·单元格
B2
中使用的公式6za6bjd03#
我想这是一个GS问题,如果是这样,试着使用
REGEXREPLACE()
:对于值范围: