Excel公式拆分:8个例子

  • Share This
Hugh West

Excel公式可以帮助我们分割一个单元格、一个文本字符串或一列。 这使得数据集更具可读性,并易于获得正确的信息。 在这篇文章中,我们将看到 如何使用Excel公式来分割单元格 或字符串。

实践工作手册

下载以下工作手册和练习。

拆分公式.xlsx

在Excel中应用公式进行分割的8种简单方法

1.用LEFT& RIGHT函数分割单元格的Excel公式

ǞǞǞ 左边 功能 返回最左边的字符和 右键功能 帮助我们从一个文本字符串中提取最后的字符。 这些是微软的Excel 文本功能 假设我们有一个数据集( B4:D9 我们将使用一个公式,以 分割细胞 包含这些名字。

步骤。

  • 选择 细胞C5 起初。
  • 现在输入公式。
=left(b5,search(" ",b5)-1)

  • 然后按 进入 并使用 填充手柄 来看下一个单元格中的结果。

公式分解

SEARCH(" ",B5)

这将搜索空间并返回空间的位置与 搜索功能 .

left(b5,search(" ",b5)-1)

这将提取左边的所有字符并返回值。

  • 下一步选择 细胞D5 .
  • 输入公式。
=right(b5,len(b5)-search(" ",b5))

  • 最后,打 进入 并使用 填充手柄 工具来查看结果。

公式分解

SEARCH(" ",B5)

这将搜索空间并返回空间的位置与 搜索功能 .

LEN(B5)

这将返回总字符数与 LEN函数 .

right(b5,len(b5)-search(" ",b5))

这将返回姓的值

阅读更多:如何在Excel中分割单元格(终极指南)

2.在Excel中用INDEX-ROWS公式将一列分成多列

ǞǞǞ ROWS功能 用来返回行号和 INDEX功能 返回给定范围内的值。 我们可以使用这两个函数的组合来将一列分成多列。 假设我们有一个数据集( B4:B14 我们将使用INDEX-ROW公式将这一列分成两列( 专栏1 &。 栏目2 ).

步骤。

  • 首先选择 细胞D5 .
  • 接下来,写下这个公式。
=index($b$5:$b$14,rows(d$5:d5)*2-1)

  • 现在按 进入 并使用 填充手柄 工具来查看结果。

公式分解

rows(d$5:d5)*2-1

这将返回行号。

index($b$5:$b$14,rows(d$5:d5)*2-1)

这将返回范围内的值 $B$5:$B$14 .

  • 选择 细胞E5 .
  • 输入公式。
=index($b$5:$b$14,rows(e$5:e5)*2)

  • 然后点击 进入 并使用 填充手柄 来自动填充下面的单元格。

公式分解

ROWS(E$5:E5)*2

这将返回行号。

index($b$5:$b$14,rows(e$5:e5)*2)

这将返回范围内的值 $B$5:$B$14 .

阅读更多:VBA在Excel中把字符串分割成多个列(2种方法)。

3.用LEFT、MID和RIGHT函数组合的Excel公式来分割一个文本字符串

有时我们需要分割一个文本字符串。 Microsoft Excel 左侧功能 返回一个文本字符串的最左边的字符和 右键功能 帮助我们从一个文本字符串中提取最后的字符。 另一方面。 MID功能 从一个文本字符串的中间拉出中间字符。 Excel的组合 左边 , 医学部 &。 右边的功能 帮助我们将一个文本字符串分割成多列。 这里我们有一个数据集( B4:E9 我们将把已售出的物品分成三列( 代码 , 系列产品 , 号码 ).

步骤。

  • 选择 细胞C5 .
  • 接下来输入公式。
=LEFT(B5,3)

  • 新闻 进入 并使用 填充手柄 工具到下面的单元格。

  • 现在选择 细胞D5 .
  • 输入公式。
=MID(B5,4,1)

  • 撞击 进入 并使用 填充手柄 来看结果。

  • 再次选择 细胞E5 .
  • 写下这个公式。
=RIGHT(B5,3)

  • 最后,点击 进入 并使用 填充手柄 工具来查看结果。

阅读更多:Excel VBA:按字符数分割字符串(2种简单方法)

4.Excel IF公式拆分

为了在一个给定的范围内运行逻辑测试,我们使用Excel IF功能 它返回的值是:无论它是 为真 失败 假设我们有一个数据集( B4:F8 我们将把客户付款历史的列拆开,命名为 金额 变成两列( 现金 &。 卡片 ).

  • 在开始时,选择 细胞E5 .
  • 接下来输入公式。
=IF(C5="Cash",D5,"N/A")

  • 现在按 进入 并使用 填充手柄 工具来查看结果。

这个公式将返回 金额 价值,以现金方式支付 细胞E5 否则,它将返回' 不适用 '.

  • 然后选择 细胞F5 .
  • 之后,输入公式。
=IF(C5="Card",D5,"N/A")

  • 最后,按 进入 并使用 填充手柄 工具到下面的单元格。

这个公式将返回 金额 价值,这是在卡中支付的 细胞F5 否则,它将返回' 不适用 '.

阅读更多:如何在Excel中把一个单元格拆成两个单元格(5种实用方法)

5.结合IFERROR、MID、SEARCH功能来分割中间词

为了避免公式中的任何错误,我们用 IFERROR函数 因为它返回的是另一个可能的结果。 有时我们有一个数据集,每个单元格包含三个词。 我们可以使用 MID功能 来提取中间词。 但如果没有中间词,它就会显示错误。 为此,我们用 IFERROR函数 伴随着 医学部 &。 搜索功能 假设我们有一个数据集( B4:C9 ),包含不同作家的名字。

步骤。

  • 首先,选择 细胞D5 .
  • 接下来输入公式。
=iferror(mid(b5,search(" ",b5)+1,search(" ",b5)+1)-search(" ",b5)),")

  • 最后,按 进入 并使用 填充手柄 工具到下面的单元格。

公式分解

SEARCH(" ",B5)

这将搜索空间并返回空间的位置与 搜索功能 .

mid(b5,search(" ",b5)+1,search(" ",b5,search(" ",b5)+1)-search(" ",b5) ))

这将通过使用第一个和第二个空格之间的位置差返回中间词。

iferror(mid(b5,search(" ",b5)+1,search(" ",b5)+1)-search(" ",b5)),""

如果单元格中没有中间词,这将返回一个空白。

6.用SUBSTITUTE函数分割日期的Excel公式

要用一个给定的范围内的特定字符替换另一个,我们使用Excel的 SUBSTITUTE功能 我们可以用一个Excel公式,用 替换 , LEN &。 查找功能 包裹在 右键功能 我们必须记住,只有在单元格末尾有日期的情况下才能使用该公式,比如下面的数据集( B4:C8 ).

步骤。

  • 选择 细胞C5 起初。
  • 接下来写下这个公式。
=right(b5,len(b5)-find("~",substitute(b5," ","~",len(b5)-len(substitute(b5," ")))-2))

  • 最后,点击 进入 并使用填充 办理 工具来自动填充单元格。

公式分解

LEN(B5)

这将返回文本字符串的长度。

替代(b5," ",")

这将取代所有在 细胞B5 .

len(b5)-len(replacement(b5," ","))

这将从总长度中减去不含空格的长度。

substitute(b5," ","~",len(b5)-len(substitute(b5," ","))-2)

这将把' ~ ' 字符在名称和日期之间。

find("~",substitute(b5," ","~",len(b5)-len(substitute(b5," "")))-2)

这将找到''的位置。 ~ '字符,这是' 4 '.

right(b5,len(b5)-find("~",substitute(b5," ","~",len(b5)-len(substitute(b5," ")))-2))

这将从文本字符串中提取日期。

阅读全文:用逗号分割字符串的Excel公式(5个例子)

7.使用CHAR函数分割文本的Excel公式

ǞǞǞ CHAR函数 是一个 文本功能 这意味着 角色 它返回一个由ASCII码编号指定的字符。 我们可以使用 CHAR函数 假设我们有一个数据集( B4:C8 我们将使用以下方法提取微软产品的名称和年份。 CHAR &。 搜索功能 裹进了 LEFT功能 在这里,该行的ASCII代码是 10 .

步骤。

  • 选择 细胞C5 .
  • 现在输入公式。
=left(b5, search(char(10),b5,1)-1)

  • 然后点击 进入 并使用 填充手柄 来看结果。

公式分解

搜索(char(10),b5,1)-1

这将搜索文本字符串的位置,该字符串是' 5 '.

left(b5, search(char(10),b5,1)-1)

这将返回最左边的值。

阅读更多:Excel VBA:按字符分割字符串(6个有用的例子)

8.用FILTERXML公式在Excel中进行分割

要想看到分割后的输出文本为动态数组,我们可以使用Excel的 FILTERXML函数 它可用于 微软Excel 365 假设我们有一个数据集( B4:B8 我们要把客户的名字和支付方式分开。

步骤。

  • 首先,选择 细胞C5 .
  • 接下来,写下这个公式。
=TRANSPOSE(FILTERXML(""&SUBSTITUTE(B5,",")& "","//")

这里的子节点被表示为' s ',主节点则表示为' t '.

  • 然后按 进入 并使用 填充手柄 来自动填充下面的单元格。

公式分解

FILTERXML(""&SUBSTITUTE(B5,",",")& "","//")

这将通过把分隔符改为XML标签,把文本字符串变成XML字符串。

TRANSPOSE(FILTERXML(""&SUBSTITUTE(B5,","")& "","//")

ǞǞǞ 输送功能 将以水平方式而不是垂直方式返回输出。

阅读更多:如何在Excel中把一个单元格分成两半(对角线& 水平)。

总结

这些都是使用Excel公式进行分割的最快捷的方法。 另外还增加了一个练习工作簿。 来吧,试一试。 欢迎提出任何问题或建议任何新方法。

Hugh West is a highly experienced Excel trainer and analyst with over 10 years of experience in the industry. He holds a Bachelor's degree in Accounting and Finance and a Master's degree in Business Administration. Hugh has a passion for teaching and has developed a unique teaching approach that is easy to follow and understand. His expert knowledge of Excel has helped thousands of students and professionals worldwide improve their skills and excel in their careers. Through his blog, Hugh shares his knowledge with the world, offering free Excel tutorials and online training to help individuals and businesses reach their full potential.