Planilha: divida uma coluna se ela contiver uma determinada string

Planilha: divida uma coluna se ela contiver uma determinada string

Aqui está um extrato da minha planilha: insira a descrição da imagem aqui

Atenção: este é apenas um exemplo simplificado. Minha planilha completa tem muitas colunas e mais de 10.000 linhas.

Em minha planilha, frequentemente tenho linhas com texto entre colchetes que começam com LIT:(Como na imagem).

É possível extrair automaticamente esse texto e colocá-lo em uma coluna separada da planilha?

(Por exemplo, no exemplo acima, [Lit: Next of hotel]iria para uma coluna separada, mas ainda permaneceria na mesma linha). 


Nota: Conforme mostrado no exemplo, nem toda linha tem um exemplo [Lit:].

Atualmente estou usando páginas da Apple. Mas estou feliz em experimentar o Google Docs ou o Open Office, se possível, ou outro pacote.

Responder1

Seus exemplos são conflitantes sobre se a string desejada começa com [LIT:ou [Lit:. Eu assumi que o [LIT:.

No LibreOffice (e provavelmente em outros equivalentes do Excel, embora eu não tenha ideia sobre o Apple Pages ou o Google Docs), a FIND()função permite localizar uma substring dentro de um campo de texto, mas retorna um erro se a substring não for encontrada, então você precisa use IFERROR()também.

Considerarei primeiro o exemplo simples em que qualquer [LIT:campo está sempre no final da string, tendo ]como caractere final. Se os dados estiverem na coluna A, começando em A1, a fórmula a seguir fará o que você deseja:

=IFERROR(MID(A1,FIND("[LIT:",A1),LEN(A1)),"")

Aqui, se FIND()retornar um valor, a substring dessa posição até o final da string será retornada; caso FIND()contrário , MID()gerará um erro e uma string em branco será retornada.

No caso mais complexo, onde o [LIT:campo pode ocorrer no meio da string, a fórmula deve ser elaborada:

=IFERROR(MID(A1,FIND("[LIT:",A1),FIND("]",MID(A1,FIND("[LIT:",A1),LEN(A1)))),"")

Neste caso a substring [LIT:até o final da string é encontrada, mas o número de caracteres gerados a partir da célula original é limitado pela posição ]dentro da substring; novamente, qualquer erro gerará uma string em branco.

Qualquer que seja a fórmula usada, você copia a célula em que ela está e cola no restante da coluna. Se você precisar manipular [LIT:ou [Lit:, substitua FIND("[LIT:",A1)por SEARCH("\[L[Ii][Tt]:",A1): enquanto FIND()procura uma correspondência literal que diferencia maiúsculas de minúsculas, SEARCH()usa correspondência de expressão regular.

Se você precisar remover a [LIT:substring da coluna original A, coloque o [LIT:campo extraído em column Ce coloque em B1:

=SUBSTITUTE(A1,C1,"",1)

Agora copie isso para o resto da coluna Be oculte column A. É claro que quaisquer colunas e linhas iniciais poderiam ser usadas; para meus exemplos, usei colunas adjacentes sem linhas de cabeçalho.

Observe que =SUBSTITUTE()não gera erros, portanto não há necessidade de usar IFERROR().

informação relacionada