Тип 9 № 55626 
Работа с таблицами. Задания для подготовки
i
В каждой строке электронной таблицы записаны шесть натуральных чисел.
Назовём ячейку таблицы хорошей, если для неё выполняются следующие условия:
— число в данной ячейке не встречается в других ячейках этой же строки;
— число в данной ячейке ровно 50 раз встречается в других строках таблицы.
Определите количество строк таблицы, содержащих хотя бы одну хорошую ячейку.
Задание 9
Решение. Для начала посчитаем, сколько раз встречается то или иное число в строках, для этого в ячейку G1 впишем =СЧЁТЕСЛИ($A1:$F1;A1) и растянем до ячейки L1 и вниз, до самого конца таблицы. Теперь найдем сколько раз число встречается в таблице, в ячейку M1 впишем формулу:
=СЧЁТЕСЛИ($A:$F;A1)
и скопируем формулу до ячейки R6000.
Отметим хорошие ячейки, для этого введем в ячейку S1 формулу и скопируем ее до ячейки X6000:
=ЕСЛИ(И(G1=1;M1=51);1;0).
В столбце Y будем считать количество хороших ячеек в строке, для этого в ячейку Y1 введем формулу и скопируем ее до ячейки Y6000:
=СУММ(S1:X1).
В столбце Z будем считать количество строк, содержащих хорошие ячейки, для этого в ячейку Z1 введем формулу и скопируем ее до ячейки Z6000:
=ЕСЛИ(Y1>=1;1;0).
Окончательно находим количество искомых строк. Для этого в ячейку AA1 записываем следующее:
=СУММ(Z1:Z6000)
и получаем ответ 250.
Ответ: 250.
Приведём решение Юрия Красильникова.
В ячейку G1 запишем формулу =И(СЧЁТЕСЛИ($A1:$F1;A1)=1;СЧЁТЕСЛИ($A$:F;A1)=51)
Скопируем её в ячейки H1:L1.
В ячейку M1 запишем формулу =ИЛИ(G1:L1) и скопируем ее до конца списка.
В ячейку N1 запишем формулу =СУММ(M:M) и получим ответ.
Приведём решение Юрия Красильникова на языке Python.
a = [list(map(int,s.split(';'))) for s in open('09.csv')]
b = [n for x in a for n in x]
d = {n:b.count(n) for n in set(b)}
ans = sum(any([x.count(n) == 1 and d[n] == 51 for n in x]) for x in a)
print(ans)
Ответ: 250