![](https://cdn.wiki-base.com/9136479/excel_double_unary_.png.webp)
Uma operação unária é uma operação com apenas um operando (entrada). O duplo unário (também chamado de duplo negativo) é uma operação usada para forçar valores TRUE FALSE para uns e zeros em fórmulas mais avançadas, especialmente fórmulas que funcionam com matrizes.
Por exemplo, a tela acima mostra dois grupos que contêm cinco valores cada. Três valores correspondem e dois são diferentes. A fórmula usada para contar os valores correspondentes é:
=SUMPRODUCT(--(B5:B9=C5:C9))
Trabalhando de dentro para fora, o B5: B9 é comparado a C5: C9 em uma expressão simples que cria uma matriz de cinco valores VERDADEIROS FALSOS:
=SUMPRODUCT(--((TRUE;TRUE;FALSE;TRUE;FALSE)))
Queremos contar correspondências (valores TRUE), mas a função SUMPRODUCT irá ignorar os valores não numéricos, então usamos um unário duplo para alterar os valores TRUE FALSE para uns e zeros.
Isso funciona porque o Excel coage automaticamente TRUE / FALSE para 1/0 durante as operações matemáticas. O primeiro negativo muda os valores TRUE para -1 e os valores FALSE para 0. O segundo negativo simplesmente muda -1 para 1. O resultado dentro de SUMPRODUCT é assim:
=SUMPRODUCT((1;1;0;1;0))
Com apenas uma matriz para trabalhar, SUMPRODUCT simplesmente retorna a soma de todos os itens, 3.