A dupla negação tem o propósito de converter um valor booleano (VERDADEIRO ou FALSO) em 0 ou 1, quando VERDADEIRO transforma em 1 e quando FALSO transforma em 0. O que ocorre é que uma vetor booleano por si só não pode ser processada em alguma operação matemática ou função sem antes ser transformada em 0 ou 1, e a conversão é feita quando o valor booleano sofre uma operação. Neste caso da dupla negação, o primeiro "menos" faz a conversão, porém resultando valores negativos (-1) para o caso de VERDADEIRO e por isso que entra o segundo "menos", para converter os "-1" em "1".
Seria essa operação, por exemplo:
Vetor original: --{VERDADEIRO;VERDADEIRO;FALSO;VERDADEIRO}
1º Processamento: -{-1;-1;0;-1}
2º Processamento: {1;1;0;1}
Outras possibilidades para converter e chegar ao mesmo resultado seria multriplicar o vetor por 1 ou usar a função N:
{VERDADEIRO;VERDADEIRO;FALSO;VERDADEIRO}*1
N({VERDADEIRO;VERDADEIRO;FALSO;VERDADEIRO})
Espero que esteja claro!
Abraços!
Rafael Issamu F. Kamimura
Moderador Oficial Microsoft Community - MCC (Contribuidor do Microsoft Community)
http://zip.net/bjrt0X - http://zip.net/bhrvbR
Foi útil? Clique na mãozinha
Conheça: http://excelmaniacos.com/
Postado : 06/12/2016 7:52 am