Пояснения к лабораторной работе №3_2

Уважаемые коллеги, в связи с тем, что затруднения вызвал один из пунктов Задания 8, а именно:

На Листе3 написать формулы:
— нахождения положительного элемента, который чаще всего встречается в построенных диапазонах Листа2 (А1:B100)

разберем его подробнее.


Во-первых, вам понадобится функция МОДА(число1;число2; …), которая собственно и возвращает наиболее часто встречающееся или повторяющееся значение в массиве или интервале данных. Таким образом, выбрать наиболее часто встречающееся число в диапазоне можно, просто записав формулу

=МОДА(A1:B100)

Во-вторых, речь в задании идет о ТОЛЬКО о положительных элементах. Таким образом, исходные данные для функции МОДА() надо представить таким образом, чтобы исключить из рассмотрения отрицательные и равные нулю числа. Это можно сделать, используя функцию ЕСЛИ(), в качестве условия в которой будет фигурировать проверка условия >0. В результате формула массива, которая находит положительный элемент, который наиболее часто встречается в диапазоне будет записана так:

{=МОДА(ЕСЛИ(A1:B100>0;A1:B100;""))}

обратите внимание, что данная формула является формулой массива, то есть будет корректно работать только после нажатия комбинации клавиш Ctrl+Shift+Enter.

Формула массива — формула, выполняющая несколько вычислений над одним или несколькими наборами значений, а затем возвращающая один или несколько результатов.

В-третьих, особенностью функции МОДА является то, что в отсутствие одинаковых данных в диапазоне вообще, в результате выполнения данной функции появляется сообщение об ошибке Excel #H/Д. Возможно, более корректен будет вид формулы, предусматривающий эту возможность, написанный с задействованием функции ЕНД(), которая возвращает значение ИСТИНА в том случае, если ссылается на значение ошибки #Н/Д (значение недоступно).
Таким образом итоговая формула массива для нахождения положительного элемента, который чаще всего встречается в диапазоне, предусматривающая отсутствие одинаковых данных (в этом в качестве результата выдается соответствующее сообщение) будет выглядеть так:

={ЕСЛИ(ЕНД(МОДА(ЕСЛИ(A1:B100>0;A1:B100;"")));"отсутствуют одинаковые данные";МОДА(ЕСЛИ(A1:B100>0;A1:B100;"")))}

В-четвертых, не будет ошибкой, если Вы будете выполнять данное задание в два действия, с тем, чтобы итоговая формула была проще. То есть можно создать диапазон, по размерности совпадающий с исходныи (например C1:D100), каждое из значений которого будет равно соответствующему элементу исходного диапазона A1:B100 в том случае, если оно положительное, и равно «», в том случае, если оно отрицательное или равное нулю. Т.е. в ячейку С1 следует записать

=ЕСЛИ(A1>0;A1;"")

и соответствующие формулы — во все остальные ячейки диапазона C1:D100, который в результате будет содержать только положительные элементы исходного диапазона, а в тех местах, где в исходном диапазоне были отрицательные и равные нулю элементы, значения будут отсутствовать вообще. Функция МОДА() в этом случае не будет включать в рассмотрение пустые ячейки вообще. Таким образом, результирующая формула в этом случае будет выглядеть как:

=ЕСЛИ(ЕНД(МОДА(C1:D100));"отсутствуют одинаковые данные";МОДА(C1:D100))

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

МОДА(C1:D100)

то есть формулу без проверки на корректность данных, однако в случае появления ошибки #Н/Д необходимо иметь представление о том, чем она вызвана, и о том, как сделать запись более корректной.