UNIRTEXTO SE – Excel e Google Planilhas
Este tutorial demonstrará como concatenar valores de células com base em critérios usando a função UNIRTEXTO no Excel e no Google Planilhas.
A Função UNIRTEXTO
Os usuários do Excel 2019 têm acesso à função UNIRTEXTO, que mescla várias sequências de texto, separando cada sequência com um delimitador especificado.
Observação: os usuários do Planilhas Google podem usar a função UNIRTEXTO, mas têm uma maneira ligeiramente diferente de inserir fórmulas de matriz. Consulte a seção posterior sobre esse tópico.
Este exemplo usará as funções UNIRTEXTO e SE em uma fórmula de matriz para criar uma cadeia de texto separada por vírgulas de nomes de jogadores relacionados a um valor de equipe de nome Vermelho.
=UNIRTEXTO(", ";VERDADEIRO;(SE(C3:C8="Red";B3:B8;"")))
Os usuários do Excel 2019 precisarão inserir essa fórmula como uma função de matriz pressionando CTRL SHIFT ENTER. Os usuários de versões posteriores do Excel não precisam seguir essa etapa.
Para explicar o que essa fórmula está fazendo, vamos dividi-la em etapas:
Esta é a nossa fórmula final:
=UNIRTEXTO(", ";VERDADEIRO;(SE(C3:C8="Red";B3:B8;"")))
Primeiro, os valores do intervalo de células são adicionados à fórmula:
=UNIRTEXTO(", ";VERDADEIRO;(SE({"Vermelho";"Azul";"Azul";"Vermelho";"Azul";"Vermelho"}="Vermelho";{"A";"B";"C";"D";"E";"F"};"")))
Em seguida, a lista de nomes de equipes é comparada com o valor Red:
=UNIRTEXTO(", ";VERDADEIRO;SE({VERDADEIRO;FALSO;FALSO;VERDADEIRO;FALSO;VERDADEIRO};{"A";"B";"C";"D";"E";"F"};""))
A função SE substitui os valores VERDADEIRO pelo nome do jogador e os valores FALSO por “”
=UNIRTEXTO(", ";VERDADEIRO;{"A";"";"";"D";"";"F"})
A função UNIRTEXTO combina todos os valores da matriz em uma string de texto. Instruímos a função a ignorar os valores em branco e a adicionar o texto “, ” entre cada valor. Isso produz o resultado final:
="A, D, F"
UNIRTEXTO SE – Pré-Excel 2019
Como a Função UNIRTEXTO não está disponível antes da versão do Excel 2019, precisamos resolver esse problema de outra forma. A função CONCATENAR está disponível, mas não aceita intervalos de células como entradas nem permite operações de matriz e, portanto, precisamos usar uma coluna auxiliar com uma função SE.
O próximo exemplo mostra como usar uma coluna auxiliar para criar uma cadeia de texto separada por vírgulas com os nomes dos jogadores relacionados a um valor de equipe vermelho:
=IF(C3="Red",B3&", ","")&D4
A primeira etapa desse exemplo é usar uma função SE para replicar a condição de Equipe = Vermelho. Se a condição for atendida, o valor do Nome do Jogador será gravado e seguido pelo delimitador escolhido “, “:
=SE(C3="Vermelho";B3&", ";"")
Em seguida, podemos criar uma coluna que acumula uma lista desses valores em uma célula, referenciando também a célula abaixo dela:
=D3&E4
Essa fórmula usa o caractere & para unir dois valores. Observe que a função CONCATENAR poderia ser usada para criar exatamente o mesmo resultado, mas o método & é geralmente preferido por ser mais curto e deixar mais clara a ação que a fórmula está executando.
Essas duas colunas auxiliares podem então ser combinadas em uma única fórmula:
=IF(C3="Vermelho",B3&", ","")&D4
Uma célula de resumo pode então fazer referência ao primeiro valor na coluna auxiliar Lista de jogadores:
=D3
Se o valor final “,” não for necessário, uma função IF aninhada adicional deverá ser adicionada à fórmula:
=SE(C3="Red";SE(D4="";B3;B3&", ");"")&D4
A parte adicional da fórmula é a função IF abaixo:
SE(D4="";B3;B3&", ")
Essa parte da fórmula verifica o valor da célula abaixo dela. Se ela estiver vazia, essa célula deverá ser o último Nome do Jogador na lista e o nome será escrito sem um delimitador. Se a célula abaixo contiver um valor, então essa célula não é o último Nome do Jogador na lista e, portanto, o delimitador “, ” é adicionado.
UNIRTEXTO SE no Google Planilhas
Essas fórmulas funcionam da mesma forma no Google Planilhas e no Excel, exceto pelo fato de que a função ARRAYFORMULA deve ser usada no Planilhas Google para que os resultados sejam avaliados corretamente. Isso pode ser adicionado automaticamente pressionando as teclas CTRL SHIFT ENTER durante a edição da fórmula (ou adicionando manualmente). A fórmula UNIRTEXTO ainda não existe em Português, então devemos usar a versão em Inglês (TEXTJOIN):
=ARRAYFORMULA(TEXTJOIN(", ";VERDADEIRO;(SE(C4:C9="Vermelho";B4:B9;""))))