Answers:
此问题可以分为两个步骤:
"-"
或" - "
)的字符串中找到索引。的FIND
和SEARCH
命令每个将返回给定的索引needle
在haystack
(FIND
是大小写敏感的,SEARCH
是不区分大小写的,并允许通配符)。鉴于此,我们有:
FIND(search_text, source_cell, start_index)
或在这种情况下:
FIND(" - ", A1, 1)
一旦有了索引,就需要前缀source_cell
“ split”。MID
只是这样做:
MID(source_cell, start_index, num_characters)
将它们放在一起,我们有:
=MID(A1,1,FIND(" - ",A1,1))
与A1的ABC - DEF
给予文本ABC
。
根据您的编辑来扩展Andrew的答案:我们正在使用该FIND
函数来查找要拆分的字符串。如果FIND
无法找到给定的字符串,则返回#VALUE?
错误。因此,我们将需要检查该值并使用替代值。
要检查任何错误值,包括#VALUE
,我们使用ISERROR
函数,因此:
=ISERROR(FIND(" - ", A1, 1))
如果FIND
函数在A1单元格中找不到“-”字符串,则为true 。因此,我们用它来决定使用哪个值:
=IF(ISERROR(FIND(" - ", A1, 1)), A1, MID(A1, 1, FIND(" - ", A1, 1)))
也就是说,如果find命令返回错误,请使用未修改的A1单元格。否则,请执行MID
安德鲁已经提供的功能。
这是从Excel文本字符串的左侧提取第5个字符的非常简单的方法:
假设字符串ABCDEFGHIJ
存储在Excel电子表格的单元格A1中,则下面的公式
=RIGHT(LEFT(A1,5),1)
从字符串的左边产生第5个字符,即E
。
MID
Excel中没有函数吗?我确定它存在于旧版Visual Basic中,并且类似=MID(A1, 5, 1)
)
以下公式将从中删除子字符串 [TEXTCOLUMN_1]
例如:如果要转换-./thumb/hello.jpg
为,thumb/hello.jpg
则使用以下公式
=SUBSTITUTE([TEXTCOLUMN_1],LEFT([TEXTCOLUMN_1],[NUM_OF_CHARACTERS]),)
[TEXTCOLUMN_1]
=您要更改的列名
[NUM_OF_CHARACTERS]
=您要删除的左侧字符数
如果要从右侧移除,请使用以下命令
=SUBSTITUTE([TEXTCOLUMN_1],RIGHT([TEXTCOLUMN_1],[NUM_OF_CHARACTERS]),)
=MID(a1,FIND("-",a1)+1,LEN(a1))
没有任何“细胞外”引用的情况下完成)