Excel:单个单元格到多个行并获取子字符串

时间:2015-02-20 11:13:26

标签: excel excel-formula

我有一个excel文件,它在单个单元格中包含以下数据,我需要在新行的基础上将它分成多行,然后检测每行的前22个字符和后15个字符(第25到第40个字符)细胞。你会有这样的一行:

         Dec 2, 2014, 11:23 PM - ‪+91 90000 80000: loren ipsum 
         Dec 2, 2014, 11:24 PM - +91 90000 80000: loren 

并且所需的输出将是

          Dec 2, 2014, 11:23 PM
          Dec 2, 2014, 11:24 PM

          loren ipsum 
          loren 

2 个答案:

答案 0 :(得分:0)

您可以使用功能组合LEFT()RIGHT()SEARCH()

获得第一部分

enter image description here

获得第二部分enter image description here

注意:我使用SEARCH来查找冒号的第二个实例":"并在此之后提取字符串文本。

答案 1 :(得分:0)

我会尽力帮助你解决这个问题。首先,我想解释一下我从你的问题中理解的内容:

你有一个包含2行字符串的单元格,如下所示:

enter image description here

并且您希望将此数据拆分为2行和2个单元格,其中包含特定数据,如下所示:

enter image description here

如果我这就是你的意思,那么你可以按照以下步骤实现你的结果。

  1. 由于您要将1行拆分为2行,因此您需要在原始行下方使用空行,如下所示:
  2. enter image description here

    1. 然后到原始单元格旁边的单元格(在我的情况下是“B1”)输入下面的公式。这将为您提供原始单元格的前21个字符:

      =LEFT(A1,21)

    2. enter image description here

      1. 然后到下一个单元格添加下面的代码以获取“loren ipsum”

        =MID(A1,FIND(":",A1,FIND(":",A1,1)+1)+1,FIND(CHAR(10),A1,1)-FIND(":",A1,FIND(":",A1,1)+1)-1)

      2. enter image description here

        1. 然后我们搬到第二排。到单元格“B2”添加下面的代码。这里CHAR(10)是单元格中新行的代码:

          =MID(A1,FIND(CHAR(10),A1,1),22)

        2. enter image description here

          1. 最后将代码添加到下一个单元格中:

            =RIGHT(A1,LEN(A1)-FIND("|",SUBSTITUTE(A1,":","|", LEN(A1)-LEN(SUBSTITUTE(A1,":","")))))

          2. enter image description here

            1. 结果你将会有这样的事情:
            2. enter image description here

              我希望这会有所帮助。