Задание 9 ЕГЭ по информатике 2027: электронная таблица: строки с условиями
- Раздел
- Информационные технологии
- Максимальный балл
- 1 балл
- Уровень
- базовый
- Что проверяет
- Умение обрабатывать числовую информацию в электронных таблицах
- Что нужно сделать
- В файле электронной таблицы найти количество строк, числа в которых удовлетворяют нескольким условиям.
- Как записать ответ
- только число: целое, без пробелов и единиц измерения
- Время
- Около 6 минут по обобщённому плану ФИПИ
- Элемент кодификатора
- 4.2
- Компьютер
- Нужна программа или электронная таблица: на станции КЕГЭ — среды программирования на C#, C++, Pascal, Java, Python и редактор таблиц
- Файл к заданию
- электронная таблица .ods; на сайте рядом — копия .xlsx, и CSV для Python
- В 2026 году
- Тоже задание 9
Задание 9 ЕГЭ по информатике 2027 года проверяет, по формулировке ФИПИ, «умение обрабатывать числовую информацию в электронных таблицах». Дан файл электронной таблицы: в каждой строке несколько натуральных чисел, а назвать нужно одно число — сколько строк подходит под два условия, какова сумма чисел в последней подходящей строке или номер строки с наибольшей суммой.
Задание базового уровня, по обобщённому плану — около 6 минут, за верный ответ 1 балл, частичного балла нет. Ответ — целое число без пробелов и единиц измерения. Решать можно и формулами в редакторе электронных таблиц, и программой на Python. В 2027 году здесь ничего не изменилось: тема та же, что в КИМ 2026 года, среди изменённых в 2027 году заданий она не названа. Средний процент выполнения в 2026 году — 46,7, и методические рекомендации относят задание 9 к базовым, вызвавшим наибольшее затруднение.
Ниже — три типа задания с разбором, формулы для электронной таблицы и код, который можно запустить прямо на странице.
Тренажёр задания 9
Десять заданий номера 9 из банка тренажёра — с файлами, как на станции КЕГЭ. Решайте в песочнице Python прямо на странице или у себя; ответ проверяется по ключу, после проверки — верный ответ, разбор и решение на Python, а при ошибке — разбор от ИИ. Кнопка «Ещё 5 таких» у типа задания ниже даёт задания одного типа.
Задание 9 вместе с остальными — в вариантах целиком.
Типы задания 9 с решением
Количество строк с двумя условиями
В файле электронной таблицы в каждой строке пять натуральных чисел через запятую. Определите количество строк, для которых выполнены оба условия: – в строке ровно два числа равны, а остальные числа различны; – среднее арифметическое неповторяющихся чисел строки больше повторяющегося числа.
5,5,1,2,3 10,10,20,30,40 12,12,7,8,9 4,4,50,60,70 9,9,9,1,1
Для этого примера ответ — 2.
Задание выполняется с использованием прилагаемого файла
1. Читаем файл построчно: строка — пять чисел через запятую. 2. Считаем частоты чисел: подходит строка с набором частот из трёх единиц и одной двойки. 3. Сравниваем суммы, а не средние: среднее трёх неповторяющихся больше повторяющегося ровно тогда, когда их сумма больше утроенного повторяющегося. 4. Печатаем число подходящих строк.
На примере: 5,5,1,2,3 — 6 < 15, нет; 10,10,20,30,40 — 90 > 30, да; 12,12,7,8,9 — 24 < 36, нет; 4,4,50,60,70 — 180 > 12, да; 9,9,9,1,1 — частоты 2 и 3, набор другой. Подходящих строк две.
import csv
count = 0 # сколько строк подходит
with open('9.csv', encoding='utf-8', newline='') as f:
for row in csv.reader(f):
a = [int(x) for x in row if x.strip()]
# сколько раз встречается каждое число строки
freq = {}
for x in a:
freq[x] = freq.get(x, 0) + 1
if sorted(freq.values()) != [1, 1, 1, 2]:
continue # равны не ровно два числа
repeat = next(x for x in a if freq[x] == 2) # повторяющееся число
unique_sum = sum(x for x in a if freq[x] == 1) # сумма неповторяющихся
if unique_sum > repeat * 3: # среднее трёх неповторяющихся больше повтора
count += 1
print(count)
Ответ на приложенном файле: 32
Данные — в столбцах A:E.
В F1 — сколько раз встречается число из A1; протяните формулу вправо до J1:
=СЧЁТЕСЛИ($A1:$E1;A1)
В K1 — 1, если ровно два числа равны, а остальные различны:
=ЕСЛИ(И(СЧЁТЕСЛИ($F1:$J1;2)=2;СЧЁТЕСЛИ($F1:$J1;"<>1")=2);1;0)
В L1 — второе условие (сумма неповторяющихся больше утроенного повторяющегося):
=ЕСЛИ(2*СУММЕСЛИ($F1:$J1;1;$A1:$E1)>3*СУММЕСЛИ($F1:$J1;2;$A1:$E1);1;0)
В M1 — произведение флагов: =K1*L1. Выделите F1:M1 и протяните вниз до последней строки данных. Ответ — сумма столбца M.
Формулы одинаково работают в LibreOffice Calc и Excel.
Сумма чисел в последней подходящей строке
В файле электронной таблицы в каждой строке шесть натуральных чисел через запятую. Определите сумму чисел в строке с наибольшим номером, для которой выполнены оба условия: – в строке есть одно число, которое повторяется трижды, остальные три числа различны; – среднее арифметическое неповторяющихся чисел строки больше повторяющегося числа.
3,3,3,10,20,30 5,5,5,1,2,3 7,7,7,40,50,60 8,8,8,8,1,2
Для этого примера ответ — 171.
Задание выполняется с использованием прилагаемого файла
1. Читаем строки из шести чисел. 2. Оставляем строки с набором частот «три единицы и одна тройка». 3. Второе условие — сумма трёх неповторяющихся чисел больше утроенного повторяющегося; это то же условие, что «среднее больше повтора». 4. Идём сверху вниз и запоминаем сумму чисел каждой подходящей строки: нужна последняя, поэтому значение просто перезаписывается.
На примере: 3,3,3,10,20,30 — 60 > 9, подходит; 5,5,5,1,2,3 — 6 < 15, нет; 7,7,7,40,50,60 — 150 > 21, подходит; 8,8,8,8,1,2 — частоты 4, 1 и 1. Последняя подходящая строка — третья, сумма её чисел 171.
import csv
last_sum = 0 # сумма чисел последней подходящей строки
with open('9.csv', encoding='utf-8', newline='') as f:
for row in csv.reader(f):
a = [int(x) for x in row if x.strip()]
freq = {}
for x in a:
freq[x] = freq.get(x, 0) + 1
if sorted(freq.values()) != [1, 1, 1, 3]:
continue # не одно число повторяется трижды
repeat = next(x for x in a if freq[x] == 3) # повторяющееся число
unique_sum = sum(x for x in a if freq[x] == 1) # сумма неповторяющихся
if unique_sum > repeat * 3: # среднее неповторяющихся больше повтора
last_sum = sum(a) # перезаписываем: нужна последняя подходящая строка
print(last_sum)
Ответ на приложенном файле: 260
Данные — в столбцах A:F.
В G1 — сколько раз встречается число из A1; протяните формулу вправо до L1:
=СЧЁТЕСЛИ($A1:$F1;A1)
В M1 — 1, если одно число повторяется трижды, а остальные три различны:
=ЕСЛИ(И(СЧЁТЕСЛИ($G1:$L1;3)=3;СЧЁТЕСЛИ($G1:$L1;"<>1")=3);1;0)
В N1 — второе условие:
=ЕСЛИ(3*СУММЕСЛИ($G1:$L1;1;$A1:$F1)>3*СУММЕСЛИ($G1:$L1;3;$A1:$F1);1;0)
В O1 — произведение флагов: =M1*N1. Выделите G1:O1 и протяните вниз до последней строки данных.
В P1 — сумма чисел строки: =СУММ($A1:$F1), протянуть вниз.
В Q1 — номер подходящей строки, иначе 0: =ЕСЛИ(O1=1;СТРОКА();0); протяните Q1 вниз до конца данных.
Ответ — сумма чисел строки с наибольшим номером: =ИНДЕКС(P1:P100;МАКС(Q1:Q100)), где 100 — номер последней строки данных.
Номер строки с наибольшей суммой среди подходящих
В файле электронной таблицы в каждой строке семь натуральных чисел через запятую. Определите номер строки таблицы (строки нумеруются с 1), в которой сумма чисел наибольшая среди строк, для которых выполнены оба условия: – в строке есть одно число, которое повторяется трижды, остальные четыре числа различны; – сумма чисел строки кратна 4.
1,1,1,2,3,4,5 2,2,2,1,3,5,7 4,4,4,1,2,3,10 6,6,6,4,5,7,8 10,10,10,2,3,4,5
Для этого примера ответ — 5.
Задание выполняется с использованием прилагаемого файла
1. Читаем строки из семи чисел и нумеруем их с 1: заголовков в файле нет. 2. Оставляем строки с набором частот «четыре единицы и одна тройка». 3. Проверяем второе условие: остаток от деления суммы чисел строки на 4 равен нулю. 4. Сравниваем сумму подходящей строки с лучшей найденной строго: если сумма больше лучшей, запоминаем и сумму, и номер строки.
На примере: 1,1,1,2,3,4,5 — 17 на 4 не делится; 2,2,2,1,3,5,7 — 22, не делится; 4,4,4,1,2,3,10 — 28, делится, запоминаем строку 3; 6,6,6,4,5,7,8 — 42, не делится; 10,10,10,2,3,4,5 — 44, делится и больше 28. Наибольшая сумма у пятой строки.
import csv
best_sum = -1 # наибольшая сумма среди подходящих строк
best_row = 0 # номер строки с этой суммой
with open('9.csv', encoding='utf-8', newline='') as f:
for number, row in enumerate(csv.reader(f), start=1):
a = [int(x) for x in row if x.strip()]
freq = {}
for x in a:
freq[x] = freq.get(x, 0) + 1
if sorted(freq.values()) != [1, 1, 1, 1, 3]:
continue # не одно число повторяется трижды
total = sum(a)
if total % 4 == 0 and total > best_sum: # сумма кратна 4 и лучше прежней
best_sum = total
best_row = number
print(best_row)
Ответ на приложенном файле: 4842
Данные — в столбцах A:G.
В H1 — сколько раз встречается число из A1; протяните формулу вправо до N1:
=СЧЁТЕСЛИ($A1:$G1;A1)
В O1 — 1, если одно число повторяется трижды, а остальные четыре различны:
=ЕСЛИ(И(СЧЁТЕСЛИ($H1:$N1;3)=3;СЧЁТЕСЛИ($H1:$N1;"<>1")=3);1;0)
В P1 — второе условие, кратность 4:
=ЕСЛИ(ОСТАТ(СУММ($A1:$G1);4)=0;1;0)
В Q1 — произведение флагов: =O1*P1. Выделите H1:Q1 и протяните вниз до последней строки данных.
В R1 — сумма чисел подходящей строки, иначе 0: =ЕСЛИ(Q1=1;СУММ($A1:$G1);0), протянуть вниз.
Ответ — номер строки с наибольшей суммой: =ПОИСКПОЗ(МАКС(R1:R100);R1:R100;0), где 100 — номер последней строки данных.
Как выполнять задание
- Откройте файл задания из рабочей папки: это электронная таблица в формате ods, её читает любой редактор из перечня ПО на станции. Переименовывать файл не нужно.
- Решите, что именно считать: количество подходящих строк, сумму чисел в последней подходящей строке или номер строки с наибольшей суммой. От этого зависит последний столбец формул.
- Данные начинаются с первой строки листа, заголовков в файле нет, поэтому номер строки таблицы совпадает с номером строки данных и идёт с 1.
- Считайте условия отдельными столбцами-флагами: один столбец — первое условие, второй — второе, третий — их произведение. Границы диапазона строки закрепляйте: $A1:$E1, иначе при протягивании вниз диапазон уедет. Выделите строку с формулами и протяните вниз двойным щелчком по маркеру заполнения.
- Проверьте формулы на первых двух-трёх строках вручную. Если решаете программой, сохраните лист как CSV-копию («Сохранить как» → «Текст CSV»): разделитель — запятая, числа целые.
Что нужно знать
- Условия по строке. Оба условия проверяются внутри одной строки, поэтому формулы-флаги протягивают вниз, а не считают по всему диапазону сразу.
- Повторы. Сколько раз число встречается в строке, показывает СЧЁТЕСЛИ($A1:$E1;A1). Число с повтором — то, у которого счётчик больше 1.
- Среднее арифметическое. Среднее неповторяющихся чисел больше повторяющегося ровно тогда, когда их сумма больше повторяющегося, умноженного на их количество: в формулах и в коде сравнивают суммы, и дробей не появляется.
- Функции. МАКС и МИН дают наибольшее и наименьшее числа строки, СУММ и СРЗНАЧ — сумму и среднее, ОСТАТ(x;4) — остаток от деления, без которого не проверить кратность.
- Ссылки при копировании. $A1 закрепляет столбец, A$1 — строку, $A$1 — и то и другое; для протягивания вниз важно закрепить границы диапазона строки.
- В программе нужны только целые числа: строка CSV-копии — набор int, частоты чисел — словарь или collections.Counter.
Разбор задания 9 с файлом и песочницей Python есть в демоверсии КЕГЭ 2027 на сайте.
Как оценивается
Проверка автоматическая, по ключу: ответ должен быть записан в форме из условия и полностью совпасть с эталоном. Код и черновики не проверяют — значение имеет только ответ. За верный ответ — 1 балл, частичного балла нет.
Критерии всех заданий экзамена — на странице критериев ЕГЭ.
Разбор задания демоверсии 2027
В демоверсии 2027 года к заданию приложен файл demo_9.ods — таблица из 28 000 строк, в каждой строке пять натуральных чисел. Спрашивают количество строк, где одновременно выполнены два условия: все пять чисел различны, а удвоенная сумма наибольшего и наименьшего чисел строки больше суммы остальных трёх.
Разберём первые строки файла. Строка 6,334,334,334,525 не подходит: число 334 повторяется, первое условие нарушено, хотя неравенство 2 · (525 + 6) = 1062 > 1002 для неё выполнено. Строка 899,899,531,531,531 не подходит, потому что числа не все различны (второе условие для неё выполнено: 2 · (899 + 531) = 2860 > 1961). Для сравнения: строка вида 10,20,30,40,50 подошла бы — числа различны и 2 · (50 + 10) = 120 > 20 + 30 + 40 = 90. В файле все пять чисел различны только в 5339 строках из 28 000; из них под оба условия попадают 4874 — это ключ ФИПИ.
Типичные ошибки
ИЛИ вместо И: считают строки с одним условием
Нужны оба условия, поэтому столбцы-флаги перемножают (=K1*L1) или соединяют через И. Сумма флагов или ИЛИ дают строки, где выполнено хотя бы одно условие, и ответ завышается.
Диапазон строки в формуле не закреплён
Записанная как A1:E1, формула при протягивании вниз уезжает, и флаг считается не по своей строке. Границы диапазона закрепляют: $A1:$E1.
Сумму сравнивают с повторяющимся числом напрямую
Условие «среднее неповторяющихся больше повторяющегося» равносильно «сумма неповторяющихся больше повторяющегося, умноженного на их количество». Без множителя ответ неверен.
Номер строки берут из отобранного списка
В задании на номер нужен номер строки листа (нумерация с 1), а не порядковый номер подходящей строки среди отобранных. Это разные числа, как только подходящих строк больше одной.
Забыли строку-шапку при чтении CSV
В файле с шапкой первая строка — названия столбцов. Если прочитать её как числа, программа упадёт или сдвинет нумерацию строк, и ответ на номер строки станет неверным.
Вопросы и ответы
Как решать задание 9: формулами в электронной таблице или программой?
Оба способа дают одно и то же число. Формулы нужно протянуть на все строки, программе — прочитать CSV-копию таблицы. Выбирайте, что получается быстрее.
Сколько баллов и времени отведено на задание 9?
По обобщённому плану ФИПИ — около 6 минут. Уровень базовый, за верный ответ выставляется 1 балл, частичного балла здесь нет. Ответ вводится как одно целое число.
В каком формате файл задания 9 и чем его открыть?
Файл — электронная таблица в формате ods, открытом и общедоступном: её читает любой редактор электронных таблиц из перечня ПО на станции. Для решения программой лист сохраняют как текстовую CSV-копию.
Как протянуть формулы сразу на несколько тысяч строк?
Выделите строку с формулами и дважды щёлкните по маркеру заполнения — формулы скопируются до конца данных. Второй способ: скопировать строку, ввести в поле имени адрес диапазона со всеми формулами (например, F1:M28000) и вставить.
Как проверить, что функция работает на всей таблице?
Посчитайте первые две-три строки вручную и сравните с формулами. Полезная промежуточная проверка — число строк, где все числа различны: оно должно быть меньше общего числа строк.
Другие задания раздела «Информационные технологии»
- Задание 3поиск в базе данных · до 1 балла
- Задание 18Робот на поле с монетами · до 1 балла
- Задание 27кластеризация данных · до 2 баллов
По демоверсии, спецификации и кодификатору ФИПИ 2027
Обновлено: