Filtrar coluna do Excel delimitada por vírgula


5

Eu tenho uma planilha do Excel que serve como uma lista mestre de feitiços para um jogo de mesa. Cada linha (exceto a linha 1) contém os dados de uma mágica: Nome, Alvo, Intervalo, Duração, Função, Efeito, Assunto, Nível e Descrição. (A linha 1 contém títulos para os filtros.)

Há um conjunto específico de valores para as colunas B a G (Alvo até Assunto), e esses valores definem quais feitiços um personagem pode ser capaz de lançar. Por exemplo, "Agonia" tem Alvo: Individual, Alcance: Visto, Duração: Sustentada, Função: Gênesis, Efeito: Diminuir, Assunto: Corpo. Se um lançador não sabe conjurar magias "Assunto: Corpo", ele ou ela não pode conjurar Agonia, apesar de conhecer todos os outros critérios.

Quero que a lista de feitiços seja filtrável, para que um jogador possa encontrar facilmente quais feitiços estão disponíveis. Há um pequeno problema: alguns feitiços têm vários valores para Efeito e / ou Assunto.

No momento, tenho os valores relevantes em ordem alfabética em suas células como uma lista delimitada por vírgula. Por exemplo, "Manto de Morcegos" tem Efeito: "Animar, Combinar, Separar" e Assunto: "Animal, Construir". Essa configuração ajuda a reduzir redundâncias na lista suspensa de filtros (o livro do jogo não classifica os efeitos / assuntos em ordem alfabética), mas ainda tenho mais caixas de seleção do que gostaria nessas duas colunas.

Eu quero que meu filtro de efeito tenha apenas 9 caixas de seleção: "Selecionar tudo" e os 8 efeitos diferentes no jogo (em oposição aos 26 que estão lá atualmente). Se eu selecionar Animar, Combinar e Separar, o Cloak of Bats será exibido; se eu desmarcar Separar, o Manto dos Morcegos desaparecerá. Da mesma forma, quero apenas 20 caixas de seleção no meu filtro Assuntos, em vez das 53 que aparecem atualmente.

Se possível, eu gostaria de realizar essa tarefa sem o VB, mas entendo que isso pode não ser viável. Se o VB for a única opção para esse problema, tudo bem.

EDITAR:

Eu quero isso:

Efeito filtro-corrente

Para ficar assim:

Efeito filtro desejado

Sem alterar meu conjunto de dados.

Alterar "Efeito" em três colunas separadas (ou quatro , no caso de Assunto), não é uma solução útil para mim. Compare, por exemplo, os casos de "Animar, Forjar, Modificar", "Animar, Modificar", "Forjar, Modificar" e "Modificar, Revelar". Em quase todos os casos, eu seria forçado a repetir os mesmos filtros em três ou quatro colunas diferentes.


Uma captura de tela seria útil. Acho que se você separar o delimitado por vírgula coluna em 3 colunas isso vai ser muito mais fácil

Imagens adicionadas. Espero que isso torne minha intenção mais clara.
Brian S

11
isso não é possível mesmo usando o VBA. Esta não é uma funcionalidade que o Excel suporta.

@mehow Tem certeza de que não é possível gostar ... criar um menu suspenso de filtro personalizado no VBA? Pode haver uma maneira muito longa e complicada = o PI acessaria pessoalmente o MSAccess e criaria um formulário com caixas de seleção para cada efeito e, em seguida, executaria uma consulta SQL nos dados, gerando um subformulário. Talvez até faça a seleção ao vivo com base no que está sendo verificado e desmarcado para aumentar a interação.
Jerry

11
Nada é impossível com o Excel. Você tem uma amostra da pasta de trabalho com a qual podemos trabalhar?
Raystafarian 10/09

Respostas:


1

Eu sinto que uma solução mais simples seria usar apenas o Text Filtersque você pode ver na sua captura de tela. Entendo que isso pode levar mais tempo para o player do que a solução ideal que você deseja.

Portanto, a alternativa é usar o VBA. Isso é lamentável, dada sua reserva inicial, mas não vejo outra maneira se você quiser a funcionalidade da caixa de seleção

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.