3

Я беру данные с звонка по горячей линии на сайт и передаю их в Linux Libreoffice Calc (LC). Ячейки столбца C имеют 2 набора данных: два телефонных номера, 1 из которых является вызывающим абонентом, а 1 - переадресованный номер, на который был переадресован вызывающий абонент («1 (4xx) 8xx-3xx2 1 (5xx) 4xx-9xx1»)

Так же столбец D имеет два набора данных - дату и время звонка ».

В поле содержимого ячейки LC на панели отображается только один номер, который является только первым числом «1 (4xx) 8xx-3xx2».

Мне нужно удалить второе число во всех ячейках столбца C, чтобы я мог выполнить сортировку данных, но не могу разделить эти два числа или увидеть второе число на панели.

Нужно знать, сколько раз номер телефона приходил на телефон доверия.

Есть идеи?

2 ответа2

1

Предполагая, что данные начинаются со строки 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.

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)

NB. Если быть точным, SEARCH() работает с CHAR(10) , но не наоборот - FIND() пытается сопоставить литерал " \n " вместо разрыва строки.

NB2: +1 и -1 соответственно гарантируют, что результирующая строка не содержит перенос строки.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .