
Унарная операция - это операция только с одним операндом (входом). Двойной унарный (также называемый двойным отрицательным) - это операция, используемая для приведения значений ИСТИНА ЛОЖЬ к единицам и нулям в более сложных формулах, особенно в формулах, которые работают с массивами.
Например, на экране выше показаны две группы, каждая из которых содержит по пять значений. Три значения совпадают, а два - разные. Формула, используемая для подсчета совпадающих значений:
=SUMPRODUCT(--(B5:B9=C5:C9))
Работая наизнанку, B5: B9 сравнивается с C5: C9 в простом выражении, которое создает массив из пяти значений TRUE FALSE:
=SUMPRODUCT(--((TRUE;TRUE;FALSE;TRUE;FALSE)))
Мы хотим подсчитывать совпадения (ИСТИННЫЕ значения), но функция СУММПРОИЗВ будет игнорировать нечисловые значения, поэтому мы используем двойной унарный, чтобы изменить ИСТИНА ЛОЖЬ значения на единицы и нули.
Это работает, потому что Excel автоматически переводит ИСТИНА / ЛОЖЬ в 1/0 во время математических операций. Первое отрицательное значение изменяет значения ИСТИНА на -1, а значения ЛОЖЬ на 0. Второе отрицательное значение просто изменяет -1 на 1. Результат внутри СУММПРОИЗВ выглядит следующим образом:
=SUMPRODUCT((1;1;0;1;0))
Имея только один массив для работы, SUMPRODUCT просто возвращает сумму всех элементов, 3.