在我的 Excel 表和 A 列中,我填充了从单元格 A2 到 A100 的数据
它们都包含与以下示例类似的数据。
例如,在我的单元格 A2 中,我想要做的是仅提取
主要的。
单元格 A2 内容:
机构:大学名称
学位:文凭
专业:教学
开始日期:2001 年 2 月 1 日
竣工日期:2016年7月31日
我正在寻找的结果:
专业:教学
答案1
如果单元格中的每一行都由一个字符分隔LineFeed
,通常情况下是这样,那么:
=MID(A2,SEARCH("Major",A2),FIND(CHAR(10),A2,SEARCH("Major",A2))-SEARCH("Major",A2))
为了详细说明其工作原理,我不会解释不同函数的工作原理——MID、FIND、SEARCH 和 LEN,因为它们在 Excel 帮助中已解释。如果您不理解它们,解释可能没有意义。
MID(A2, startPoint_of "Major", length_of_the_whole_phrase)
SEARCH: Find the place where "Major" starts. (case insensitive)
FIND: Finding CHAR(10) which is the line feed character.
Using the SEARCH "Major" term to define the starting point of the SEARCH,
so that it will be the linefeed that next follows "Major"
The difference between the startpoint of "Major" and the subsequent
linefeed will be the length of the phrase
如果您想要查找任何组件,则必须考虑到最后一行之后可能没有换行符这一事实。因此,对于公式中寻找下一个换行符的部分,我们用一个IFERROR
函数将其包围起来,以防找不到换行符,用 A2 中所有内容的长度替换该数字;我们还用单元格引用替换“Major”,这样我们就可以更改要查找的内容。
以下公式的版本使用绝对引用来引用A2
,但如果您要拖动公式,则可能需要将其更改为混合形式。
在下面的公式中,搜索短语将输入到 A4 中,可以是任何行项目。
=MID($A$2,SEARCH(A4,$A$2),IFERROR(FIND(CHAR(10),$A$2,SEARCH(A4,$A$2)),LEN($A$2))-SEARCH(A4,$A$2))
答案2
如果数据与 A2 相同,则可以使用以下公式:
=MID(A2,SEARCH("Major:",A2,1),SEARCH("Start",A2,1)-1-SEARCH("Major:",A2,1))
你可以从 A2 复制Major:
和,Start:
以便有相同的空格,
你可以将公式向下拖动