将部分单元格复制到 OpenOffice Calc 中的另一个单元格

11 openoffice

单元格 A1 说 0001 约翰·史密斯 单元格 A2 说 0002 比尔·斯奈德

我想基本上拆分它,所以一列只显示数字(0001、0002 等),然后另一列只显示名称。

第一部分很容易。使用函数 "=LEFT(A1;4)" 我可以得到 0001。我怎样才能得到这个名字?例如,使用“RIGHT(A1;99)”将获取整个字符串“0001 John Smith”。由于每个名称的长度不同,我不知道该怎么做。我能以某种方式告诉它抓取整个字符串,除了前 4 个字符吗?或者以某种方式告诉它获取最后 2 个 WORDS 而不是它所要求的多个字符?

小智 12

要获取不包括前 4 个字符(加空格)的子字符串,您可以使用MID函数:

MID(A1,6,LEN(A1))
Run Code Online (Sandbox Code Playgroud)

这将导致“John Smith Cell A2 说 0002 Bill Snyder”。您还可以使用FIND函数模拟文本拆分,例如此公式将输出'0001'

LEFT(A1,FIND(" ",A1)-1)
Run Code Online (Sandbox Code Playgroud)

此外,这将输出John(假设原始文本在A1单元格中,而先前的公式在B1 中):

MID(A1,LEN(B1)+2,FIND(" ",A1,LEN(B1)))
Run Code Online (Sandbox Code Playgroud)

这里:

  • A1 - 原文
  • LEN(B1)+2 - 起始位置(代码长度 0001 + 分隔符 + 1)
  • FIND(" ",A1,LEN(B1)) - 结束位置(即下一个空格出现)

您可以进一步详细说明以获得最后两个词:)