根据换行符匹配单元格内容

根据换行符匹配单元格内容

我从热线呼叫站点获取数据并将其传输到 Linux Libreoffice Calc (LC)。C 列单元格有 2 组数据 - 两个电话号码 - 1 是呼叫者,1 是呼叫者被转接到的转接号码。(“1 (4xx) 8xx-3xx2 1 (5xx) 4xx-9xx1”)

D 列也有两组数据——通话日期和时间”。

在栏上的 LC 单元内容框中仅显示一个数字,即第一个数字“1 (4xx) 8xx-3xx2”。

我需要删除 C 列所有单元格中的第二个数字,这样我才能对数据进行排序,但无法分开这两个数字或在栏上看到第二个数字。

需要知道某个电话号码打入热线的次数。

有任何想法吗?

答案1

有两种方法可以使换行符可访问LibreOffice Calc 文本函数

  • 使用常用表达:"\n"如果在公式中启用了正则表达式,则将匹配换行符(菜单“ Tools” -> “ Options” -> “ LibreOffice Calc” -> “ Calculate” -> “ Enable regular expressions in formulas”);

  • 没有正则表达式,使用 CHAR() 功能:“ CHAR(10)” 也匹配换行符。

基于此,可以C1使用以下方法在换行符处拆分单元格内容(在中)LEFT()RIGHT()以两种方式发挥作用:

  • 使用正则表达式,您可以使用SEARCH()功能:

    =LEFT(C1;SEARCH("\n";C1)-1)

    =RIGHT(C1;(LEN(C1)-SEARCH("\n";C1;1))+1)

  • 不使用正则表达式,您可以使用FIND()功能:

    =LEFT(C1;FIND(CHAR(10);C1)-1)

    =RIGHT(C1;(LEN(C1)-FIND(CHAR(10);C1;1))+1)

注意:准确地说,也SEARCH()可以与 一起使用CHAR(10),但反之则不行——FIND()尝试匹配文字“ \n”而不是换行符。

NB2:+1-1分别确保结果字符串不包含换行符。

答案2

假设数据从第 2 行开始,且 E 是第一个空闲列(如果不是,则适当移动),执行以下操作:

  • 在单元格 F2 中,按 Ctrl-Enter 输入换行符。
  • 在单元格 E2 中输入公式=LEFT(C2, FIND(CHAR(10), C2))
  • 将 E2 复制到 E2..En,其中 n 是最后一行。

这将为您提供每个值的第一行。

获取第二行有点棘手,因为您需要计算字符数。我认为公式是=RIGHT(C2, LENGTH(C2) - FIND(CHAR(10), C2) - 1)

CHAR(10)注:已更新以按照 tohuwawohu 的建议使用。

相关内容