▷ TOPSIS – Método multicritério de análise de decisão no MS Excel

Olá seja bem vindo ao meu novo artigo

Neste irei comentar sobre a Técnica Multicritério TOPSIS (Technique for Order of Preference by Similarity to Ideal Solution), ela foi apresentada originalmente por Ching-Lai Hwang and Yoon em 1981, com o artigo abaixo:

Hwang, C.L.; Yoon, K. (1981). Multiple Attribute Decision Making: Methods and Applications. New York: Springer-Verlag (Link)

Visto no Canal do Youtube EstaTiDados do Mestre Thiago Marques, ele convidou o Prof. Felipe Moreira, demostrando passo a passo a construção de um exemplo do TOPSIS no Excel, fortemente recomendo visualizar todo o vídeo, para compreender todos os conceitos e a dinâmica da técnica do TOPSIS.

O objetivo deste artigo, será deixar este método dinâmico para 15 variáveis de entradas e até 5 critérios, sendo possível aumentar para a quantidade desejada. Vamos ao exemplo do método TOPSIS no Excel, ou algoritmo TOPSIS, como queira chamar.

Modelo Dinâmico - TOPSIS Excel

Segue os cálculos

N° de Alternativas | Coluna E

=SE(SOMA($F5:$K5)>0;LINS($E$5:E5);"")

ou em inglês

=IF(SUM($F5:$K5)>0;ROWS($E$5:E5);"")

Coluna M, iniciando na célula M5

=H5

Cálculo dos Pesos Individuais | Célula N5 a P22

=SE(OU(F$2="";F5="");"";F5/RAIZ(SOMAQUAD(DESLOC(F$4;1;0;SOMA(ÍNDICE(--($E$5:$E$19<>"");0));1)))*F$2)

ou em inglês

=IF(OR(F$2="";F5="");"";F5/SQRT(SUMSQ(OFFSET(F$4;1;0;SUM(INDEX(--($E$5:$E$19<>"");0));1)))*F$2)

Referência Melhor | Células N2 a P2

=SE(F2="";"";SE(F$3="MIN";MÍNIMO(ÍNDICE(DESLOC(F$4;1;0;SOMA(ÍNDICE(--($E$5:$E$19<>"");0));1)/RAIZ(SOMAQUAD(DESLOC(F$4;1;0;SOMA(ÍNDICE(--($E$5:$E$19<>"");0));1)))*F$2;0));MAX(ÍNDICE(DESLOC(F$4;1;0;SUM(ÍNDICE(--($E$5:$E$19<>"");0));1)/RAIZ(SOMAQUAD(DESLOC(F$4;1;0;SUM(ÍNDICE(--($E$5:$E$19<>"");0));1)))*F$2;0))))

ou em inglês

=IF(F2="";"";IF(F$3="MIN";MIN(INDEX(OFFSET(F$4;1;0;SUM(INDEX(--($E$5:$E$19<>"");0));1)/SQRT(SUMSQ(OFFSET(F$4;1;0;SUM(INDEX(--($E$5:$E$19<>"");0));1)))*F$2;0));MAX(INDEX(OFFSET(F$4;1;0;SUM(INDEX(--($E$5:$E$19<>"");0));1)/SQRT(SUMSQ(OFFSET(F$4;1;0;SUM(INDEX(--($E$5:$E$19<>"");0));1)))*F$2;0))))

Referência Pior | Células N3 a P3

=SE(F2="";"";SE(F$3="MAX";MÍNIMO(ÍNDICE(DESLOC(F$4;1;0;SOMA(ÍNDICE(--($E$5:$E$19<>"");0));1)/RAIZ(SUMSQ(DESLOC(F$4;1;0;SOMA(ÍNDICE(--($E$5:$E$19<>"");0));1)))*F$2;0));MÁXIMO(ÍNDICE(DESLOC(F$4;1;0;SOMA(ÍNDICE(--($E$5:$E$19<>"");0));1)/RAIZ(SUMSQ(DESLOC(F$4;1;0;SOMA(ÍNDICE(--($E$5:$E$19<>"");0));1)))*F$2;0))))

ou em inglês

=IF(F2="";"";IF(F$3="MAX";MIN(INDEX(OFFSET(F$4;1;0;SUM(INDEX(--($E$5:$E$19<>"");0));1)/SQRT(SUMSQ(OFFSET(F$4;1;0;SUM(INDEX(--($E$5:$E$19<>"");0));1)))*F$2;0));MAX(INDEX(OFFSET(F$4;1;0;SUM(INDEX(--($E$5:$E$19<>"");0));1)/SQRT(SUMSQ(OFFSET(F$4;1;0;SUM(INDEX(--($E$5:$E$19<>"");0));1)))*F$2;0))))

Métrica de Similaridade | Coluna C

=SE(E5="";"";SEERRO(RAIZ(SOMA(ÍNDICE(((DESLOC($N5;0;0;1;SOMA(ÍNDICE(--($F$3:$K$3<>"");0)))-DESLOC($N$3;0;0;1;SOMA(ÍNDICE(--($F$3:$K$3<>"");0))))^2);0)))/(RAIZ(SOMA(ÍNDICE(((DESLOC($N5;0;0;1;SOMA(ÍNDICE(--($F$3:$K$3<>"");0)))-DESLOC($N$3;0;0;1;SOMA(ÍNDICE(--($F$3:$K$3<>"");0))))^2);0)))+RAIZ(SOMA(ÍNDICE(((DESLOC($N5;0;0;1;SOMA(ÍNDICE(--($F$3:$K$3<>"");0)))-DESLOC($N$2;0;0;1;SOMA(ÍNDICE(--($F$3:$K$3<>"");0))))^2);0))));""))

ou em inglês

=IF(E5="";"";IFERROR(SQRT(SUM(INDEX(((OFFSET($N5;0;0;1;SUM(INDEX(--($F$3:$K$3<>"");0)))-OFFSET($N$3;0;0;1;SUM(INDEX(--($F$3:$K$3<>"");0))))^2);0)))/(SQRT(SUM(INDEX(((OFFSET($N5;0;0;1;SUM(INDEX(--($F$3:$K$3<>"");0)))-OFFSET($N$3;0;0;1;SUM(INDEX(--($F$3:$K$3<>"");0))))^2);0)))+SQRT(SUM(INDEX(((OFFSET($N5;0;0;1;SUM(INDEX(--($F$3:$K$3<>"");0)))-OFFSET($N$2;0;0;1;SUM(INDEX(--($F$3:$K$3<>"");0))))^2);0))));""))

Ranking Final | Coluna B

=SEERRO(ORDEM(C5;DESLOC(C$4;1;0;SOMA(ÍNDICE(--($E$5:$E$19<>"");0));1));"")

ou em inglês

=IFERROR(RANK(C5;OFFSET(C$4;1;0;SUM(INDEX(--($E$5:$E$19<>"");0));1));"")

Com as fórmulas acima, o Método TOPSIS ficará dinâmico.

Também é possível realizar esta técnica pelo site do Prof. Thiago Marques que segue abaixo

https://estatidados.shinyapps.io/TOPSIS_R/

Obrigado Mestre e Prof. Thiago Marques pelo seu compartilhamento de conhecimento!

E um agradecimento especial ao Prof. Dr. Marcos Santos por compartilhar tanto conhecimento nesta comunidade, muito obrigado Professor!

Espero que tenha gostado desse artigo!

Caso tenha alguma sugestão de outra técnica ou melhoria do conteúdo acima, poste aqui nos comentários.

Se gostou, curta e compartilhe este artigo para que todos saibam o que é possível fazer dentro do MS Excel.

E você já conhece o meu novo curso online de Excel?

Abraços a todos e até o próximo artigo!

Fabio BALDINI

Frase do Dia: "O que você tentaria fazer se você soubesse que não poderia fracassar?" Autor: Robert Schuller

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *