Eu gostaria de ir do ponto a ao ponto b conforme mostrado abaixo. Achei que fosse uma solução de transposição, mas não parece estar funcionando da maneira pensada.
Basicamente, estou tentando encontrar uma maneira de coletar/gerenciar facilmente os dados (Ponto A) e exibi-los de uma determinada maneira (Ponto B).
Tentando ter ideias de como resolver isso no Excel ou na programação?
Ponto A
Ponto B
Possível usando a função MATCH:
Digamos que você tenha sua primeira tabela na Planilha1.
Na planilha2, nomeie suas colunas exatamente como você fez:
Agora, na célula B2, copie e cole o seguinte:
Em seguida, arraste o canto da célula para preencher toda a tabela.
Detalhamento da célula B2
Estamos tentando ver se, para cada célula da coluna A da Planilha1, corresponde ao conteúdo do cabeçalho da linha (servidor1):
Isso é avaliado como
{1, 1, #N/A, #N/A}
.Mantemos então apenas as células que são números usando
ISNUMBER
(observe a colocação do sinal $ em $A2 que bloqueia a coluna, mas não a linha, para continuar apontando para o cabeçalho da coluna quando arrastamos o canto da célula):Isso é avaliado como
{TRUE, TRUE, FALSE, FALSE}
.Fazemos o mesmo para o cabeçalho da coluna (desta vez bloqueamos a linha B$1 para manter o cabeçalho) e multiplicamos os dois arrays. Acabamos tendo
{TRUE * TRUE, TRUE * FALSE, FALSE * TRUE, FALSE * FALSE}
, que é avaliado como{1, 0, 0, 0}
.Somamos todos esses números usando
SUM
e, de forma simples,IF
podemos dizer que se essa soma for um ou superior, então quero exibir umx
.Se você tiver Excel 365:
serverdata: Faça referência ao intervalo de entrada do servidor
servicesdata: Faça referência ao intervalo de entrada de serviços
servidores: extraia nomes de servidores exclusivos de serverdata
serviços: Extraia nomes de serviços exclusivos de servicesdata e transponha-os para um formato de linha.
matchMatrix: verifique cada combinação de servidores e serviços. Se for encontrada uma correspondência (ou seja, o servidor oferece o serviço), coloque um “x”; caso contrário, deixe a célula em branco.
VSTACK: Empilhe a linha do cabeçalho (serviços) no topo da matriz de correspondência começando com uma célula em branco
HSTACK: Empilhe os nomes dos servidores à esquerda da matriz de correspondência.
Preencha os x quando houver uma correspondência
É conhecida como tabela dinâmica:
Existem várias etapas para criar a tabela.