Имя: Пароль:
IT
 
Puzzle в Excel
0 mistеr
 
02.11.20
18:29
Раз уж сегодня вечер головоломок, вот задачка для Excel.

Дано: пустой лист. В произвольную ячейку вписывается некая формула. Затем берем за угол ячейки и тянем вправо. Происходит автозаполнение, причем такого вида: 333333322222222111111111. Неважно, как далеко тянем, одна треть заполняется тройками, вторая двойками, и последняя единицами.

Найти: ту самую формулу.

Можно пользоваться только встроенными функциями. Менять настройки, использовать макросы и прочие хаки нельзя.
Решение не единственное, можно оценивать решения по краткости формулы.

P.S. Если кто видел эту задачку на другом сайте (где увидел я), не спойлерите, дайте другим подумать.
1 Квас
 
02.11.20
22:06
(0) что еще за Puzzle? Нельзя чтоли по-русски писать: "пазл"? Иностранщину развели тут, понимаешь.

Вообще я в Экселе не силен, синтаксис не знаю, но думаю суть формулы такая должна быть:
Если ячейка слева пустая, то ставим 3.
Если ячейка справа пустая, то ставим 1.
Иначе ставим среднее арифметическое между левой и правой ячейками, но формат вывода без дробной части.
2 Квас
 
02.11.20
22:09
Или если можно перебирать все ячейки, то ищем расстояние от крайней левой и крайней правой, составляем пропорцию, и по ней считаем к чему ближе ячейка, к 3 или к 1 пропорционально расстоянию до правой или до левой крайней соответственно.
3 Квас
 
02.11.20
22:44
Сделал пробную формулу, пришлось поиграть с округлением, вместо 3 задал 3.499999, а вместо 1 задал 0.5
Формулу вставлять в ячейку С8, формат ячейки задать цифровой, выводить только целую часть:

=IF(D8=0, 0.5, IF(B8=0, 3.49999999, (D8+B8)/2))

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

Вот результат:

https://i.ibb.co/PYcXVBV/image.png
4 Квас
 
03.11.20
01:52
Если менять формат ячеек запрещено правилом задачи, и можно пользоваться только формулой, тогда остается единственный вариант - перебором, как я писал в (2)
5 mistеr
 
03.11.20
12:06
(3) Результат в Excel 2010: https://imgur.com/EiKiJZR

Циклические ссылки не позволяют вычислить все ячейки.
6 mistеr
 
03.11.20
12:07
(4) Для округления есть функции на любой вкус
7 Квас
 
03.11.20
17:39
(5) У тебя запрещены круговые ссылки в экселе. Если по условию задачи нельзя их разрешить в настройках, тогда вариант (1) не подходит, и остается единственный возможный вариант (2).
8 Квас
 
03.11.20
17:41
(6) Округлять для варианта (1) нет возможности, потому что округление повлияет на результат вычисления, и станет невозможно правильно вычислить остальные ячейки на основании значения округленной ячейки.
9 mistеr
 
03.11.20
19:09
(7) Ну избежать циклических ссылок это и есть основная проблема в этой задаче.
10 Квас
 
03.11.20
19:16
(9) Только в случае если они запрещены. У меня оказались разрешены, так что это не была проблема. Вообще, зачем их запрещают? Они же дают большую свободу для расчетов. Как посчитаешь сходящийся ряд, например, без циклической ссылки? Будешь копировать формулу тысячу раз чтоли в разных ячейках?
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший