Fórmula do Excel para associar pares categoria / subcategoria e gerar lista

0

Eu tenho cinco colunas, que determinam o ID de um artigo e as categorias com as quais o artigo está associado. Um exemplo dos dados abaixo:

article_id   category_id   subcategory_id   2nd_category_id   2nd_subcategory_id

94           C02           M1001        
96           C06
98           C06
101          C03           M1001        
108          C01           M1001        
110          C01           M1001        
111          C03           M1003            C02               M1001
114          C01                            C02
115          C01           M1001            C01               M1002

Da apresentação acima, Parece que um artigo pode ser atribuído a quatro categorias. Na realidade, é atribuído a uma ou duas categorias, cada uma com uma subcategoria opcional. (Existem seis categorias principais. Cada categoria pode ter até quatro subcategorias. Existem aproximadamente 11.000 entradas (ou seja, linhas / artigos) no arquivo. Infelizmente, os nomes dos códigos das subcategorias não são globalmente exclusivos. Por exemplo, a categoria C01 é "Árvores" e a categoria C02 é Frutas. Mas a subcategoria C01 M1001 é Evergreens, enquanto a subcategoria C02 M1001 é Maçãs. Observe que um artigo pode ser atribuído à mesma categoria duas vezes se pelo menos uma das tarefas estiver acoplada a uma subcategoria - no exemplo acima, o artigo 115 é atribuído a C01 duas vezes.

O que preciso fazer é criar uma fórmula que agregue isso em um único valor de campo separado por vírgula que liste as categorias e subcategorias identificadas.

Como eu poderia conseguir isso? Eu acho que existem três partes para isso:

  1. Localizar + Substituir na coluna category_id e na coluna 2nd_category_id para substituir o valor da categoria pai pelo nome da string apropriado. Assim, C01 se torna Árvores.

  2. Use uma fórmula, de algum tipo, para substituir os valores de subcategory_id por seus nomes, dependendo do valor da string em category_id. Repita para 2nd_subcategory_id. Se não houver subcategory_id, deixe o valor em branco.

  3. Use outra fórmula para copiar os valores para a nova coluna, eliminando entradas duplicadas sempre que possível (por exemplo, um artigo pode ser atribuído a C01 (categoria pai herdada da subcategoria) e M1001 (subcategoria) e C01 ( Neste caso, a fórmula deve fornecer o valor na nova coluna como "Árvores, Sempre-verdes, Árvores" Não há necessidade de entradas duplicadas de "Árvores", portanto apenas "Árvores, Sempre-verdes" precisam existir novo valor de coluna.

Talvez eu esteja complicando demais as coisas e haja uma maneira muito fácil de conseguir isso. Talvez não. Quaisquer ponteiros?

Um exemplo do que eu estaria tentando criar é o seguinte:

article   category   subcategory   category2   subcat2   categories
94        C02        M1001                               Fruits, Apples
96        C06                                            Seeds
98        C06                                            Seeds
101       C03        M1001                               Plants, Shrubs
108       C01        M1001                               Trees, Evergreens
110       C01        M1001                               Trees, Evergreens
111       C03        M1003         C02         M1001     Plants, Climbers, Fruits, Apples
112       C06                                            Seeds
113       C01                                            Trees
114       C01                      C02                   Trees, Fruits
115       C01        M1001         C01         M1002     Trees, Evergreens, Deciduous
    
por Grant G 01.12.2015 / 17:50

1 resposta

0

Vou dar algumas respostas:

  1. Crie duas tabelas de pesquisa em algum lugar em sua pasta de trabalho do Excel (possivelmente em uma planilha diferente):

    C01   Trees
    C02   Fruits
    C03   Plants
     ⋮     ︙ 
    C06   Seeds
    

    e

    C01_M1001   Evergreens
    C01_M1002   Deciduous
        ⋮         ︙ 
    C02_M1001   Apples
        ⋮         ︙ 
    C03_M1001   Shrubs
    C03_M1003   Climbers
        ⋮         ︙ 
    
  2. Defina as células W2 - Z2 como algo como o seguinte:

    • W2=B2
    • X2=IF(C2="", "", B2 & "_" & C2)
    • Y2=IF(D2=B2, "", D2)
    • Z2=IF(E2="", "", D2 & "_" & E2)
  3. Agora altere as opções acima para traduzi-las em nomes de categorias / subcategorias usando as tabelas de pesquisa. Eu não vou explicar os detalhes disso porque eles são exaustivamente cobertos em ambos os documentos do Excel e respostas de superusuário.

  4. Consulte Gerar uma lista separada por vírgula do conteúdo da célula, excluindo espaços em branco de maneiras de produzir sua lista categories .

por 01.12.2015 / 20:58