Corresponde ao conteúdo da célula com base na quebra de linha

3

Eu pego os dados de uma chamada de ajuda no site e os transfiro para o Linux Libreoffice Calc (LC). As células da coluna C têm dois conjuntos de dados - dois números de telefone - sendo 1 o chamador e 1 o número encaminhado para o qual o chamador foi redirecionado ("1 (4xx) 8xx-3xx2". 1 (5xx) 4xx-9xx1 ")

A coluna D tem dois conjuntos de dados - a data e a hora da chamada ".

Na caixa Conteúdo da célula LC na barra, ele exibe apenas um número que é o primeiro número "1 (4xx) 8xx-3xx2" apenas.

Eu preciso excluir o segundo número em todas as células da coluna C para que eu possa fazer uma espécie de dados, mas não possa separar esses dois números ou ver o segundo número na barra.

Precisa saber quantas vezes um número de telefone entrou na linha de ajuda.

Alguma idéia?

    
por Bill W 30.05.2014 / 16:11

2 respostas

1

Supondo que os dados começam na linha 2 e E é a primeira coluna livre (se não, mude de forma apropriada), faça:

  • Na célula F2, pressione Ctrl-Enter para inserir uma nova linha.
  • Na célula E2, insira a fórmula =LEFT(C2, FIND(CHAR(10), C2))
  • Copie E2 para E2..En onde n é a última linha.

Isso deve fornecer a primeira linha de cada valor.

Obter a segunda linha é um pouco mais complicado, já que você precisa calcular o número de caracteres. Eu acho que a fórmula é =RIGHT(C2, LENGTH(C2) - FIND(CHAR(10), C2) - 1) .

Nota: atualizado para usar CHAR(10) como sugerido por tohuwawohu.

    
por 30.05.2014 / 17:53
1

Existem duas maneiras de tornar a quebra de linha acessível para funções de texto do LibreOffice Calc :

  • usando expressões regulares : "\n" corresponderá a uma quebra de linha se expressões regulares estiverem ativadas em fórmulas (Menu " Tools " - > " Options " - > " LibreOffice Calc " - > " Calculate " - > " Enable regular expressions in formulas ");

  • sem expressões regulares, usando a CHAR() função : " CHAR(10) " corresponde a uma quebra de linha também.

Com base nisso, é possível dividir o conteúdo da célula (em C1 ) em uma quebra de linha usando a LEFT() e RIGHT() funciona de duas maneiras:

  • com expressões regulares , você pode determinar a posição da quebra de linha usando a SEARCH() :

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

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

  • sem expressões regulares , você pode determinar a posição da quebra de linha usando a FIND() :

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

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

NB: Para ser preciso, SEARCH() também funciona com CHAR(10) , mas não vice-versa - FIND() tenta corresponder um literal " \n " em vez de uma quebra de linha.

NB2: Os +1 e -1 , respectivamente, certificam-se de que a string resultante não contenha a quebra de linha.

    
por 30.05.2014 / 19:04