Условие
В каждой строке электронной таблицы записаны шесть натуральных чисел.
Определите количество строк таблицы, содержащих числа, для которых одновременно выполнены все следующие условия:
- все числа в строке различны;
- среднее арифметическое наибольшего и наименьшего чисел в строке больше среднего арифметического всех остальных чисел.
В ответе запишите число – количество строк, удовлетворяющих заданным условиям.

Решение №1
Для начала приведем числа одной строки к более удобному для выполнения задания порядку — отсортируем по возрастанию. Для этого вставим пустую строку в самое начало таблицы. Подпишем порядковые номера. Уменьшим ширину столбца, для лучшего восприятия.
Так как сортировать числа нужно горизонтально, применим функцию =НАИМЕНЬШИЙ(массив, k), где массив — это диапазон числовых данных, k — порядковый номер числа. Как раз для того, чтобы минимизировать ручную работу мы столбики и подписали.
Наберем функцию:
=НАИМЕНЬШИЙ($A2:$F2;G$1)
Растянем ее вправо. Двойным щелчком на зеленый квадратик в правом нижнем углу выделенного фрагмента скопируем ее во все ячейки вниз. Формула скопируется до последней заполненной строки.
Чтобы изменить вид адресации у ячейки — нажмите на ее адрес, а затем клавишу F4 на клавиатуре.
Отберем строки в таблице по первому условию — среднее арифметического наибольшего и наименьшего чисел больше чем среднее арифметическое остальных.
Наберем функцию:
=СЧЁТЕСЛИ($G2:$L2;G2)
Растянем ее вправо. В соседней ячейке справа наберем функцию:
=ЕСЛИ(СУММ(M2:R2)=6;1;0)
В ситуации, когда все числа различны, сумма значений будет равна 6, такие строки отметим значением 1, во всех остальных случаях — 0. Выделим цветом данный столбец.
Найдем среднее арифметическое наибольшего и наименьшего чисел. В нашем случае наименьшее число стоит на первом месте, наибольшее на шестом, так как числа отсортированы по возрастанию:
=СРЗНАЧ(G2;L2)
Найдем среднее арифметическое для остальных чисел:
=СРЗНАЧ(H2:K2)
Так как нам нужны только те строки, в которых числа различны, не будем обращать внимания на строки, в котором наименьшее или наибольшее может повторяться, так как все равно они не подходят.
Сравним два числа. В случае, если первое больше, поставим значение 1, иначе 0:
=ЕСЛИ(T2>U2;1;0)
Остается отобрать ячейки у1 и у2, в которых стоят единицы:
=ЕСЛИ(И(S2=1;V2=1);1;0)
Найдем сумму всех чисел в столбце — это и есть ответ.
=СУММ(W:W)
Сумму чисел в ячейках можно не находить отдельной функцией. Достаточно выделить столбик, справа внизу окна она будет выведена.
Решение №2
Напишем программу для определения количества подходящих строк по условию. Для этого исходный файл нужно сохранить в формате .csv.
Сохраним файл в той же папке, в которой сохранили файл программы. Откроем файл в программе, указав просто имя файла. Если файл задания и файл программы находятся в разных папках, необходимо указать полный путь до файла.
#начало фрагмента
f = open('ed901.csv')
#конец фрагмента
Считаем каждую строку из файла последовательно друг за другом.
#начало фрагмента
for i in f:
#конец фрагмента
Для того, чтобы определить все ли числа различны, считываемую строку будем сохранять в множество. Таким образом повторы будут игнорироваться, а нужная нам строка будет состоять из шести элементов.
Отберем множества состоящие из шести чисел.
#начало фрагмента
m =set(map(int, i.split(';')))
if len(m) == 6:
#конец фрагмента
Найдем среднее арифметическое наибольшего и наименьшего числа в множестве и среднее арифметическое остальных чисел. Вариантов как это сделать много, воспользуемся наиболее простым. Преобразуем множество в список. Отсортируем список по возрастанию, найдем среднее арифметическое 0 и 5 элементов, а также элементов с 1 по 4 и сравним их.
Если среднее арифметическое наибольшего и наименьшего больше второй, то прибавим к счетчику единицу.
#начало фрагмента
if (m[0] + m[-1]) / 2 > sum(m[1:5]) / 4:
count += 1
#конец фрагмента
Листинг программы
f = open('ed901.csv')
count = 0
for i in f:
m =set(map(int, i.split(';')))
if len(m) == 6:
m = sorted(list(m))
if (m[0] + m[-1]) / 2 > sum(m[1:5]) / 4:
count += 1
print(count)