从excel单元格中提取短语


0

在我的Excel工作表和A列中,我有从A2到A100填充的数据

它们都包含类似于以下示例的数据。

例如,在我的Cell A2中,我想要做的只是提取

重大的。

细胞A2内容:

机构:大学名称

学位:文凭

专业:教学

开课日期:2001年2月1日

完成日期:2016年7月31日

我正在寻找的结果:

专业:教学


A2中的数据仅以空格分隔,Major始终位于开始日期之前?
yass

Answers:


1

如果单元格中的每一行都用a分隔 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))

能否请您解释一下这个功能是如何工作的?我的一个朋友建议我使用类似的功能。 = MID(A2,SEARCH( “大调”,A2,1),(SEARCH(CHAR(10),RIGHT(A2,LEN(A2)-SEARCH( “大调”,A2,1)+1),1)) )
Scorpion99

我会编辑我的答案
Ron Rosenfeld

1

如果数据看起来像A2一样,您可以使用以下公式:

=MID(A2,SEARCH("Major:",A2,1),SEARCH("Start",A2,1)-1-SEARCH("Major:",A2,1))

你可以复制 Major:Start: 来自你的A2,以便拥有相同的空间
您可以拖动公式

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.