Количество элементов с учетом регистра символов

Предположим Вам необходимо посчитать количество элементов с учетом регистра символов, как это сделать? Достаточно просто, понадобится всего две функции, одна из которых сравнивает значения, а вторая подсчитывает результат.

Исходные данные

Исходные данные для подсчета количества элементов с учетом регистра символов в Excel

В диапазоне В3:В11 есть некий массив исходных значений, в ячейках D3:D7 перечислены значения которые мы будем искать в исходном массиве и записывать соответствующие результаты в ячейки Е3:Е7.

Формула

Для решения задачи запишем в ячейку Е3 следующую формулу.

=СУММПРОИЗВ(—СОВПАД(D3;B3:B11))

И затем растянем формулу на оставшиеся ячейки от Е4 до Е7. В результате получим такие значения:

Количество элементов с учетом регистра символов формулой Excel

Если пересчитать вручную то можем убедиться что результат верный. При этом формула выглядит несколько странно, разберемся, как же это работает.

Функция «СОВПАД» сравнивает две строки и возвращает результат «ИСТИНА» или «ЛОЖЬ», если сравниваются две строки, то результатом будет логическое значение. При этом функция сравнивает значения с учетом регистра. В нашем примере второй аргумент функции – диапазон ячеек, в таком случае функция возвращает массив логических значений. В массиве результатов значение «ИСТИНА» будет стоять на тех же позициях, в которых искомый текст совпадает с текстом в ячейке.

Функция «СУММПРОИЗВ» должна посчитать сколько раз элемент встретился в исходном диапазоне, те в массиве результатов функции «СОВПАД». Однако функция «СУММПРОИЗВ» трактует любые не числовые значения как 0, а функция «СОВПАД» возвращает именно логические значения. По этому нам необходимо преобразовать логические значения в числовые, именно по этому перед функцией «СОВПАД» стоят два минуса.

На самом деле, два минуса имеют свое название – бинарное отрицание. И именно бинарное отрицание преобразует логическую «ИСТИНА» в 1, а логическую «ЛОЖЬ» в 0. С точки зрения логических операций, использование бинарного отрицания наиболее правильный способ преобразования логического значения в числовое. Но этот вариант не единственный, можно так же умножить результат на 1, или прибавить 0. То есть результат выполнения формул:

=СУММПРОИЗВ(—СОВПАД(D3;B3:B11))

=СУММПРОИЗВ(СОВПАД(D3;B3:B11)*1)

=СУММПРОИЗВ(СОВПАД(D3;B3:B11)+0)

будет абсолютно идентичным.

Добавить комментарий