KutoolsforOffice — Uma solução, cinco ferramentas poderosas.Fazer mais com menos esforço.

Como listar todas as combinações possíveis dos valores de uma única coluna no Excel?

AutorXiaoyang Data de Modificação

Se pretende obter todas as combinações possíveis a partir dos dados de uma única coluna, como ilustrado na imagem abaixo, conhece alguma forma rápida de o fazer no Excel?

Listar todas as combinações possíveis de uma única coluna com fórmulas

Listar todas as combinações possíveis de uma única coluna com código VBA


Listar todas as combinações possíveis de uma única coluna com fórmulas

As seguintes fórmulas matriciais podem ajudá-lo a realizar esta tarefa. Siga os passos abaixo:

1. Em primeiro lugar, crie duas células auxiliares com fórmulas. Na célula C1, introduza a fórmula abaixo e prima as teclas Ctrl + Shift + Enter em simultâneo para obter o resultado:

=MAX(LEN(A2:A6))
Nota: Nesta fórmula,A2:A6é a lista de células cujas combinações pretende listar.

criar a primeira fórmula auxiliar

2. Na célula C2, introduza a seguinte fórmula e prima simultaneamente as teclas Ctrl + Shift + Enter para obter o segundo resultado, conforme ilustrado:

=CONCAT(A2:A6&REPT(« »,C2-LEN(A2:A6)))
Nota: Nesta fórmula,A2:A6é a lista de células cujas combinações pretende listar,C2é a célula que contém a fórmula criada no passo 1.

criar a segunda fórmula auxiliar

3. De seguida, copie e cole a seguinte fórmula na célula D2 e prima em simultâneo as teclas Ctrl + Shift + Enter para obter o primeiro resultado, conforme ilustrado:

=IF(ROW()>2^(COUNTA(A$2:A$6)),«»,TEXTJOIN(« + »,TRUE,IF(MID(TEXT(DEC2BIN(ROW()-1),REPT("0",COUNTA($A$2:$A$6))),ROW(INDIRECT("1:"&COUNTA($A$2:$A$6))),1)+0,TRIM(MID($C$3,(ROW(INDIRECT("1:"&COUNTA($A$2:$A$6)))-1)*$C$2+1,$C$2)),«»)))
Nota: Nesta fórmula,A2:A6é a lista de células cujas combinações pretende listar,C2é a célula que contém a fórmula criada no passo 1,C3é a célula com a fórmula criada no passo 2, e o carácter +é o separador utilizado entre as combinações; pode alterá-lo conforme necessário.

introduzir uma fórmula

4. Em seguida, selecione a célula com a fórmula e arraste a alça de preenchimento para baixo até que apareçam células vazias. Assim, verá todas as combinações dos dados da coluna especificada, tal como demonstrado abaixo:

Nota: Esta fórmula só está disponível no Office 2019, 365 e versões posteriores.
uma captura de ecrã de kutools for excel ia

Desbloqueie a Magia do Excel com KUTOOLS AI

  • Execução Inteligente: Realize operações em células, analise dados e crie gráficos — tudo impulsionado por comandos simples.
  • fórmulas personalizadas: Crie fórmulas personalizadas para simplificar os seus fluxos de trabalho.
  • Programação VBA: Escreva e implemente código VBA com facilidade.
  • Interpretação de Fórmulas: Compreenda facilmente fórmulas complexas.
  • Tradução de Texto: Elimine barreiras linguísticas nas suas folhas de cálculo.
Potencie as capacidades do seu Excel com ferramentas alimentadas por IA.Descarregue Agorae experimente uma eficiência como nunca antes!

Listar todas as combinações possíveis de uma única coluna com código VBA

As fórmulas acima estão disponíveis apenas nas versões mais recentes do Excel. Se estiver a utilizar uma versão anterior, o seguinte código VBA poderá ser útil.

1. Prima em simultâneo as teclas Alt + F11 para abrir a janela do Microsoft Visual Basic for Applications.

2. Em seguida, clique em Inserir > Módulo e copie e cole o código VBA abaixo na janela.

Código VBA: Listar todas as combinações possíveis de uma única coluna

Sub ConnectArr()
'Updateby ExtendOffice
Dim xDValue As Variant
Dim xOutRg As Range
Dim xDictionary As Object
Dim xF As Long
Dim xChar As String
xDValue = Range("A2:A6").Value 'the data range
Set xOutRg = Range("C1") 'output range
xChar = "," 'separator
For xF = 1 To UBound(xDValue)
    Set xDictionary = CreateObject("Scripting.Dictionary")
    xDictionary(0) = "Sets of " & xF
    Call ConnectValue(xDValue, xDictionary, 0, xF, 0, "", xChar)
    xOutRg.Offset(0, xF - 1).Resize(xDictionary.Count).Value = WorksheetFunction.Transpose(xDictionary.Items)
    Set xDictionary = Nothing
Next
End Sub
Sub ConnectValue(ByRef pDValue, ByRef pDictionary, ByRef pLevel, ByVal pMaxLevel, ByVal pIndex, ByVal pValue, ByVal pChar)
Dim xF As Long
If pLevel = pMaxLevel Then
    pDictionary(pDictionary.Count + 1) = pValue
    Exit Sub
End If
For xF = pIndex + 1 To UBound(pDValue)
    If pValue = "" Then
        Call ConnectValue(pDValue, pDictionary, pLevel + 1, pMaxLevel, xF, pDValue(xF, 1), pChar)
    Else
        Call ConnectValue(pDValue, pDictionary, pLevel + 1, pMaxLevel, xF, pValue & pChar & pDValue(xF, 1), pChar)
    End If
Next
End Sub
Nota: No código acima:
  • A2:A6: é a lista de dados que pretende utilizar;
  • C1: é a célula de saída;
  • ,: o delimitador utilizado para separar as combinações.

3. Em seguida, prima a tecla F5 para executar este código. Todas as combinações da coluna única serão listadas, conforme ilustrado na imagem abaixo:

código vba para obter todas as combinações da coluna única

As Melhores Ferramentas de Produtividade para o Office

🤖KUTOOLS AI Assistente: Revolucione o Análise de Dados com base em:Execução Inteligente   |  Gerar Código|  Criar fórmulas personalizadas  |  Analisar Dados e Gerar Gráficos|  Invocar Funções Aprimoradas
Funcionalidades Populares:Localizar, Destacar ou Marcar Duplicatas   |  Excluir linhas em branco   |  Combinar Colunas ou Células sem Perder Dados   |   Arredondamento sem usar fórmula...
Super PROC:VLookup com Múltiplos Critérios  |  VLookup com Múltiplos Valores  |   VLookup em Múltiplas Folhas   |   Correspondência Fuzzy....
Lista Suspensa Avançada:Criar Rapidamente Lista de Seleção   |  Lista de Seleção Dependente   |  Lista de Seleção com Múltipla Escolha....
Gestor de Colunas:Adicionar um Número Específico de Colunas|Mover Colunas|Alternar Estado de Visibilidade de Colunas Ocultas|Comparar Intervalos e Colunas...
Funcionalidades em Destaque:Grade de foco   |  Visualização de Design   |Barra de fórmulas aprimorada   | Gestor de Pastas de Trabalho e Folhas   |  Biblioteca de Recursos(Texto Automático)|  Seleção de Data   |  Consolidar Planilhas  |  Encriptar/Descriptografar Células   | Enviar Emails por Lista   |  Super Filtro   |   Filtro Especial(Filtrar Células com Fonte em Negrito/itálico/rasurado...) ...
Principais Conjuntos de Ferramentas 15:12 Ferramentasde Texto(Adicionar Texto,Excluir Caracteres Específicos, ...)|   50+Tiposde Gráfico(Gráfico de Gantt, ...)|   40+ Fórmulas Práticas(Calcular a idade com base na data de nascimento, ...)|   19 Ferramentasde Inserção(Inserir QR Code,Inserir Imagem a Partir do Caminho, ...)|   12 Ferramentasde Conversão(Converter em Palavras,Conversão de moeda, ...)|   7 Ferramentasde Mesclar e Dividir(Mesclar Linhas Avançado,Dividir Células, ...)|... e muito mais
Utilize o Kutools na sua língua preferida – suporta inglês, espanhol, alemão, francês, chinês e mais 40+ idiomas!

Potencie as suas competências no Excel com Kutools para Excel e experimente uma eficiência como nunca antes.Kutools para Excel Oferece mais de 300 funcionalidades avançadas para impulsionar a produtividade e Economizar Tempo.Clique aqui para obter a funcionalidade de que mais precisa...


Office Tab Traz uma interface com separadores para o Office e torna o seu trabalho muito mais fácil

  • Ative a edição e leitura com separadores no Word, Excel, PowerPoint, Publisher, Access, Visio e Project.
  • Abra e crie vários documentos em novos separadores da mesma janela, em vez de em janelas separadas.
  • Aumente a sua produtividade em 50 % e elimine centenas de cliques do rato todos os dias!

Todos os suplementos Kutools — num único instalador.

Kutools for Office reúne suplementos para Excel, Word, Outlook e PowerPoint, além do Office Tab Pro, sendo a solução ideal para equipas que trabalham em várias aplicações do Office.

ExcelWordOutlookTabsPowerPoint
  • Pacote tudo-em-um— suplementos para Excel, Word, Outlook e PowerPoint + Office Tab Pro
  • Um instalador, uma licença— configuração em minutos (pronto para MSI)
  • Funciona melhor em conjunto— produtividade simplificada em todas as aplicações do Office
  • Teste gratuito de 30 dias com todas as funcionalidades— sem registo, sem cartão de crédito
  • Melhor relação qualidade-preço— poupe face à compra individual dos suplementos