Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Построение квадрата Ганна 9 - Мир MS Excel

Регистрация · Логин: · Пароль: · · Забыли пароль?
  • Страница 1 из 1
  • 1
Модератор форума: _Boroda_, Pelena, китин  
Мир MS Excel » Работа и общение » Мозговой штурм » Построение квадрата Ганна 9 (Формулой получить квадрат Ганна любого размера)
Построение квадрата Ганна 9
Понравилось?
Светлый Дата: Четверг, 08.08.2019, 18:06 | Сообщение № 1
Группа: Друзья
Ранг: Старожил
Сообщений: 1299
Репутация: 325 ±
Замечаний: 0% ±

Excel 2010
Давно уже не ломали голов. Развлечёмся?
Столкнулся с квадратом Ганна 9 и решил сделать формулу, которая его заполнит.
В ячейке A1 вписываем номер строки и столбца начала заполнения. Первая строка и первый столбец пустые. Дальше идёт формула. Ячейкам за пределами квадрата присваиваем пустое значение.
Удалось написать формулу в 333 330 277 знаков. Были варианты в 379 и 350 символов.
В файле три листа с разными размерами квадратов. По ним видно, как происходит заполнение. От центра "1" по спирали +1 по часовой стрелке.
Думаю, что больше недели хватит. Вскрываться предлагаю 19.08.2019.
Удачи всем!
К сообщению приложен файл: Ganna9_.xlsx(16.7 Kb)


Программировать проще, чем писать стихи.

Сообщение отредактировал Светлый - Четверг, 08.08.2019, 20:18
 
Ответить
СообщениеДавно уже не ломали голов. Развлечёмся?
Столкнулся с квадратом Ганна 9 и решил сделать формулу, которая его заполнит.
В ячейке A1 вписываем номер строки и столбца начала заполнения. Первая строка и первый столбец пустые. Дальше идёт формула. Ячейкам за пределами квадрата присваиваем пустое значение.
Удалось написать формулу в 333 330 277 знаков. Были варианты в 379 и 350 символов.
В файле три листа с разными размерами квадратов. По ним видно, как происходит заполнение. От центра "1" по спирали +1 по часовой стрелке.
Думаю, что больше недели хватит. Вскрываться предлагаю 19.08.2019.
Удачи всем!

Автор - Светлый
Дата добавления - 08.08.2019 в 18:06
Светлый Дата: Суббота, 10.08.2019, 12:23 | Сообщение № 2
Группа: Друзья
Ранг: Старожил
Сообщений: 1299
Репутация: 325 ±
Замечаний: 0% ±

Excel 2010
Цитата Светлый, 08.08.2019 в 18:06, в сообщении № 1 ()
Ячейкам за пределами квадрата присваиваем пустое значение.
Формула и так длинная получается, поэтому пусть будет пусто или ноль с форматом ячейки "0;;".


Программировать проще, чем писать стихи.
 
Ответить
Сообщение
Цитата Светлый, 08.08.2019 в 18:06, в сообщении № 1 ()
Ячейкам за пределами квадрата присваиваем пустое значение.
Формула и так длинная получается, поэтому пусть будет пусто или ноль с форматом ячейки "0;;".

Автор - Светлый
Дата добавления - 10.08.2019 в 12:23
krosav4ig Дата: Суббота, 10.08.2019, 23:57 | Сообщение № 3
Группа: Друзья
Ранг: Старожил
Сообщений: 2182
Репутация: 913 ±
Замечаний: 0% ±

Excel 2007,2010,2013
Доброго времени суток.
325 без =
как сократить пока мыслей нет


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460
 
Ответить
СообщениеДоброго времени суток.
325 без =
как сократить пока мыслей нет

Автор - krosav4ig
Дата добавления - 10.08.2019 в 23:57
Nic70y Дата: Вторник, 13.08.2019, 14:38 | Сообщение № 4
Группа: Друзья
Ранг: Экселист
Сообщений: 5683
Репутация: 1246 ±
Замечаний: 0% ±

ru13;10;03
204 без=


ЯД(poison) 41001841029809
 
Ответить
Сообщение204 без=

Автор - Nic70y
Дата добавления - 13.08.2019 в 14:38
Светлый Дата: Вторник, 13.08.2019, 15:19 | Сообщение № 5
Группа: Друзья
Ранг: Старожил
Сообщений: 1299
Репутация: 325 ±
Замечаний: 0% ±

Excel 2010
С пустым краем 231 230, с нулями 202 201 195 194 и с нулями и отрицательными 188 187


Программировать проще, чем писать стихи.

Сообщение отредактировал Светлый - Среда, 14.08.2019, 14:12
 
Ответить
СообщениеС пустым краем 231 230, с нулями 202 201 195 194 и с нулями и отрицательными 188 187

Автор - Светлый
Дата добавления - 13.08.2019 в 15:19
Светлый Дата: Понедельник, 19.08.2019, 06:06 | Сообщение № 6
Группа: Друзья
Ранг: Старожил
Сообщений: 1299
Репутация: 325 ±
Замечаний: 0% ±

Excel 2010
Всем удачной рабочей недели!
Вскрываться будем?


Программировать проще, чем писать стихи.
 
Ответить
СообщениеВсем удачной рабочей недели!
Вскрываться будем?

Автор - Светлый
Дата добавления - 19.08.2019 в 06:06
Nic70y Дата: Понедельник, 19.08.2019, 08:10 | Сообщение № 7
Группа: Друзья
Ранг: Экселист
Сообщений: 5683
Репутация: 1246 ±
Замечаний: 0% ±

ru13;10;03
Цитата Светлый, 19.08.2019 в 06:06, в сообщении № 6 ()
будем?
а чего ж нет.
у меня так и осталось 204 без=
Код
ЕСЛИ(МАКС(СТОЛБЕЦ();СТРОКА())>($A$1-1)*2;"";ВЫБОР((СТОЛБЕЦ()+СТРОКА()-(СТРОКА()<$A$1)*2>($A$1-1)*2)+(СТОЛБЕЦ()-СТРОКА()<1)*2+(СТРОКА()=СТОЛБЕЦ())*2+И(СТРОКА()=$A$1;СТОЛБЕЦ()=$A$1)+1;A2;B1;B3;C2;B3;B1;)+1)


ЯД(poison) 41001841029809
 
Ответить
Сообщение
Цитата Светлый, 19.08.2019 в 06:06, в сообщении № 6 ()
будем?
а чего ж нет.
у меня так и осталось 204 без=
Код
ЕСЛИ(МАКС(СТОЛБЕЦ();СТРОКА())>($A$1-1)*2;"";ВЫБОР((СТОЛБЕЦ()+СТРОКА()-(СТРОКА()<$A$1)*2>($A$1-1)*2)+(СТОЛБЕЦ()-СТРОКА()<1)*2+(СТРОКА()=СТОЛБЕЦ())*2+И(СТРОКА()=$A$1;СТОЛБЕЦ()=$A$1)+1;A2;B1;B3;C2;B3;B1;)+1)

Автор - Nic70y
Дата добавления - 19.08.2019 в 08:10
Светлый Дата: Понедельник, 19.08.2019, 08:29 | Сообщение № 8
Группа: Друзья
Ранг: Старожил
Сообщений: 1299
Репутация: 325 ±
Замечаний: 0% ±

Excel 2010
Код
=ЕСЛИ(МАКС(СТРОКА();СТОЛБЕЦ())<$A$1*2-1;ЕСЛИ(И(СТРОКА()>$A$1;СТРОКА()+СТОЛБЕЦ()=$A$1*2);((СТРОКА()-$A$1)*2+1)^2;ВЫБОР(ЕСЛИ((СТРОКА()-$A$1)^2<(СТОЛБЕЦ()-$A$1-СТРОКА()%+$A$1%)^2;СТОЛБЕЦ()<$A$1;2+(СТРОКА()<$A$1))+1;B3;B1;A2;C2)-1);"")
Код
=ЕСЛИ(И(СТРОКА()>$A$1;СТРОКА()+СТОЛБЕЦ()=$A$1*2);((СТРОКА()-$A$1)*2+1)^2;МАКС(ВЫБОР(ЕСЛИ((СТРОКА()-$A$1)^2<(СТОЛБЕЦ()-$A$1-СТРОКА()%+$A$1%)^2;СТОЛБЕЦ()<$A$1;2+(СТРОКА()<$A$1))+1;B3;B1;A2;C2)-1;))
Код
=ЕСЛИ(И(СТРОКА()>$A$1;СТРОКА()+СТОЛБЕЦ()=$A$1*2);((СТРОКА()-$A$1)*2+1)^2;ВЫБОР(ЕСЛИ((СТРОКА()-$A$1)^2<(СТОЛБЕЦ()-$A$1-СТРОКА()%+$A$1%)^2;СТОЛБЕЦ()<$A$1;2+(СТРОКА()<$A$1))+1;B3;B1;A2;C2)-1)
И в файле несколько других формул с заполнением по спирали от центра, к центру, кольцами от диагонали.
*Файл перезалил.
К сообщению приложен файл: Ganna9otv.xlsx(27.4 Kb)


Программировать проще, чем писать стихи.

Сообщение отредактировал Светлый - Понедельник, 19.08.2019, 13:29
 
Ответить
Сообщение
Код
=ЕСЛИ(МАКС(СТРОКА();СТОЛБЕЦ())<$A$1*2-1;ЕСЛИ(И(СТРОКА()>$A$1;СТРОКА()+СТОЛБЕЦ()=$A$1*2);((СТРОКА()-$A$1)*2+1)^2;ВЫБОР(ЕСЛИ((СТРОКА()-$A$1)^2<(СТОЛБЕЦ()-$A$1-СТРОКА()%+$A$1%)^2;СТОЛБЕЦ()<$A$1;2+(СТРОКА()<$A$1))+1;B3;B1;A2;C2)-1);"")
Код
=ЕСЛИ(И(СТРОКА()>$A$1;СТРОКА()+СТОЛБЕЦ()=$A$1*2);((СТРОКА()-$A$1)*2+1)^2;МАКС(ВЫБОР(ЕСЛИ((СТРОКА()-$A$1)^2<(СТОЛБЕЦ()-$A$1-СТРОКА()%+$A$1%)^2;СТОЛБЕЦ()<$A$1;2+(СТРОКА()<$A$1))+1;B3;B1;A2;C2)-1;))
Код
=ЕСЛИ(И(СТРОКА()>$A$1;СТРОКА()+СТОЛБЕЦ()=$A$1*2);((СТРОКА()-$A$1)*2+1)^2;ВЫБОР(ЕСЛИ((СТРОКА()-$A$1)^2<(СТОЛБЕЦ()-$A$1-СТРОКА()%+$A$1%)^2;СТОЛБЕЦ()<$A$1;2+(СТРОКА()<$A$1))+1;B3;B1;A2;C2)-1)
И в файле несколько других формул с заполнением по спирали от центра, к центру, кольцами от диагонали.
*Файл перезалил.

Автор - Светлый
Дата добавления - 19.08.2019 в 08:29
Светлый Дата: Понедельник, 19.08.2019, 11:40 | Сообщение № 9
Группа: Друзья
Ранг: Старожил
Сообщений: 1299
Репутация: 325 ±
Замечаний: 0% ±

Excel 2010
Используя идеи Nic70y, написал новую формулу на 150 знаков:
Код
=МАКС(;ВЫБОР((СТОЛБЕЦ()+СТРОКА()>=$A$1*2)+(СТОЛБЕЦ()-СТРОКА()<1)*2+($A$1-СТОЛБЕЦ()=ABS($A$1-СТРОКА()))*2+1;C2;B3;B1;A2;C2;((СТРОКА()-$A$1)*2+1)^2+1)-1)
*Даже 149:
Код
=МАКС(;ВЫБОР((СТОЛБЕЦ()+СТРОКА()<$A$1*2)+(СТОЛБЕЦ()-СТРОКА()<1)*2+($A$1-СТОЛБЕЦ()=ABS($A$1-СТРОКА()))*2+1;B3;C2;A2;B1;((СТРОКА()-$A$1)*2+1)^2+1;C2)-1)


Программировать проще, чем писать стихи.

Сообщение отредактировал Светлый - Понедельник, 19.08.2019, 12:37
 
Ответить
СообщениеИспользуя идеи Nic70y, написал новую формулу на 150 знаков:
Код
=МАКС(;ВЫБОР((СТОЛБЕЦ()+СТРОКА()>=$A$1*2)+(СТОЛБЕЦ()-СТРОКА()<1)*2+($A$1-СТОЛБЕЦ()=ABS($A$1-СТРОКА()))*2+1;C2;B3;B1;A2;C2;((СТРОКА()-$A$1)*2+1)^2+1)-1)
*Даже 149:
Код
=МАКС(;ВЫБОР((СТОЛБЕЦ()+СТРОКА()<$A$1*2)+(СТОЛБЕЦ()-СТРОКА()<1)*2+($A$1-СТОЛБЕЦ()=ABS($A$1-СТРОКА()))*2+1;B3;C2;A2;B1;((СТРОКА()-$A$1)*2+1)^2+1;C2)-1)

Автор - Светлый
Дата добавления - 19.08.2019 в 11:40
krosav4ig Дата: Вторник, 20.08.2019, 21:55 | Сообщение № 10
Группа: Друзья
Ранг: Старожил
Сообщений: 2182
Репутация: 913 ±
Замечаний: 0% ±

Excel 2007,2010,2013
у меня так и не нашлось времени сократить свою формулу в 325 символов
Код
=ЕСЛИ(ABS($A$1-СТОЛБЕЦ())>ABS($A$1-СТРОКА());(($A$1-СТОЛБЕЦ())^2-(-1)^(СТОЛБЕЦ()>$A$1)*($A$1-СТОЛБЕЦ()))*4+($A$1-СТОЛБЕЦ())*(-5)^(СТОЛБЕЦ()>$A$1)+1+($A$1-СТРОКА())*(-1)^(СТОЛБЕЦ()>$A$1);(($A$1-СТРОКА())^2-(-1)^(СТРОКА()>$A$1)*($A$1-СТРОКА()))*4+3*(-7/3)^(СТРОКА()>$A$1)*($A$1-СТРОКА())+1+($A$1-СТОЛБЕЦ())*(-1)^(СТРОКА()<$A$1))


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460
 
Ответить
Сообщениеу меня так и не нашлось времени сократить свою формулу в 325 символов
Код
=ЕСЛИ(ABS($A$1-СТОЛБЕЦ())>ABS($A$1-СТРОКА());(($A$1-СТОЛБЕЦ())^2-(-1)^(СТОЛБЕЦ()>$A$1)*($A$1-СТОЛБЕЦ()))*4+($A$1-СТОЛБЕЦ())*(-5)^(СТОЛБЕЦ()>$A$1)+1+($A$1-СТРОКА())*(-1)^(СТОЛБЕЦ()>$A$1);(($A$1-СТРОКА())^2-(-1)^(СТРОКА()>$A$1)*($A$1-СТРОКА()))*4+3*(-7/3)^(СТРОКА()>$A$1)*($A$1-СТРОКА())+1+($A$1-СТОЛБЕЦ())*(-1)^(СТРОКА()<$A$1))

Автор - krosav4ig
Дата добавления - 20.08.2019 в 21:55
Светлый Дата: Среда, 21.08.2019, 08:57 | Сообщение № 11
Группа: Друзья
Ранг: Старожил
Сообщений: 1299
Репутация: 325 ±
Замечаний: 0% ±

Excel 2010
krosav4ig, очень интересное решение. Я тоже думал в этом направлении, но другое решение сразу отсекло это.
Общую часть можно было вынести за если. Уже 251 символ:
Код
=(МАКС(ABS(СТОЛБЕЦ()-$A$1);ABS(СТРОКА()-$A$1))*2-1)^2+ЕСЛИ(($A$1-СТОЛБЕЦ())^2>($A$1-СТРОКА())^2;($A$1-СТОЛБЕЦ())*(-5)^(СТОЛБЕЦ()>$A$1)+($A$1-СТРОКА())*(-1)^(СТОЛБЕЦ()>$A$1);3*(-7/3)^(СТРОКА()>$A$1)*($A$1-СТРОКА())+($A$1-СТОЛБЕЦ())*(-1)^(СТРОКА()<$A$1))
И заменить векторами, 217 символов:
Код
=(МАКС(ABS(СТОЛБЕЦ()-$A$1);ABS(СТРОКА()-$A$1))*2-1)^2+СУММПРОИЗВ(ЕСЛИ(($A$1-СТОЛБЕЦ())^2>($A$1-СТРОКА())^2;ЕСЛИ(СТОЛБЕЦ()>$A$1;{-1;-5};{1;1});ЕСЛИ(СТРОКА()>$A$1;{-7;1};{3;-1}))*ЕСЛИ({1;0};$A$1-СТРОКА();$A$1-СТОЛБЕЦ()))


Программировать проще, чем писать стихи.
 
Ответить
Сообщениеkrosav4ig, очень интересное решение. Я тоже думал в этом направлении, но другое решение сразу отсекло это.
Общую часть можно было вынести за если. Уже 251 символ:
Код
=(МАКС(ABS(СТОЛБЕЦ()-$A$1);ABS(СТРОКА()-$A$1))*2-1)^2+ЕСЛИ(($A$1-СТОЛБЕЦ())^2>($A$1-СТРОКА())^2;($A$1-СТОЛБЕЦ())*(-5)^(СТОЛБЕЦ()>$A$1)+($A$1-СТРОКА())*(-1)^(СТОЛБЕЦ()>$A$1);3*(-7/3)^(СТРОКА()>$A$1)*($A$1-СТРОКА())+($A$1-СТОЛБЕЦ())*(-1)^(СТРОКА()<$A$1))
И заменить векторами, 217 символов:
Код
=(МАКС(ABS(СТОЛБЕЦ()-$A$1);ABS(СТРОКА()-$A$1))*2-1)^2+СУММПРОИЗВ(ЕСЛИ(($A$1-СТОЛБЕЦ())^2>($A$1-СТРОКА())^2;ЕСЛИ(СТОЛБЕЦ()>$A$1;{-1;-5};{1;1});ЕСЛИ(СТРОКА()>$A$1;{-7;1};{3;-1}))*ЕСЛИ({1;0};$A$1-СТРОКА();$A$1-СТОЛБЕЦ()))

Автор - Светлый
Дата добавления - 21.08.2019 в 08:57
krosav4ig Дата: Среда, 21.08.2019, 21:33 | Сообщение № 12
Группа: Друзья
Ранг: Старожил
Сообщений: 2182
Репутация: 913 ±
Замечаний: 0% ±

Excel 2007,2010,2013
Светлый, мне все треугольные числа мерещатся :) , до сих пор не отпускает


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460

Сообщение отредактировал krosav4ig - Среда, 21.08.2019, 21:33
 
Ответить
СообщениеСветлый, мне все треугольные числа мерещатся :) , до сих пор не отпускает

Автор - krosav4ig
Дата добавления - 21.08.2019 в 21:33
krosav4ig Дата: Четверг, 22.08.2019, 15:05 | Сообщение № 13
Группа: Друзья
Ранг: Старожил
Сообщений: 2182
Репутация: 913 ±
Замечаний: 0% ±

Excel 2007,2010,2013
еще одна вариация, в этот раз начал с диагоналей, хоть до 300 (267 без=) уложился :)
Код
=ВЫБОР(ОСТАТ(ЗНАК((ABS(СТОЛБЕЦ()-$A$1)-ABS(СТРОКА()-$A$1)))+2;2)+1;4*(СТОЛБЕЦ()-$A$1)^2+ВЫБОР((СТРОКА(B2)<=$A$1)+(СТОЛБЕЦ()<=$A$1)*2+1;2;0;-4;2)*(СТОЛБЕЦ()-$A$1)+1;ЕСЛИ(ABS(СТОЛБЕЦ()-$A$1)>ABS(СТРОКА()-$A$1);ЕСЛИ(СТОЛБЕЦ()<$A$1;B1;B3)-1;ЕСЛИ(СТРОКА(B2)<$A$1;A2;C2)+1))


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460
 
Ответить
Сообщениееще одна вариация, в этот раз начал с диагоналей, хоть до 300 (267 без=) уложился :)
Код
=ВЫБОР(ОСТАТ(ЗНАК((ABS(СТОЛБЕЦ()-$A$1)-ABS(СТРОКА()-$A$1)))+2;2)+1;4*(СТОЛБЕЦ()-$A$1)^2+ВЫБОР((СТРОКА(B2)<=$A$1)+(СТОЛБЕЦ()<=$A$1)*2+1;2;0;-4;2)*(СТОЛБЕЦ()-$A$1)+1;ЕСЛИ(ABS(СТОЛБЕЦ()-$A$1)>ABS(СТРОКА()-$A$1);ЕСЛИ(СТОЛБЕЦ()<$A$1;B1;B3)-1;ЕСЛИ(СТРОКА(B2)<$A$1;A2;C2)+1))

Автор - krosav4ig
Дата добавления - 22.08.2019 в 15:05
Мир MS Excel » Работа и общение » Мозговой штурм » Построение квадрата Ганна 9 (Формулой получить квадрат Ганна любого размера)
  • Страница 1 из 1
  • 1
Поиск:

Яндекс цитирования
© 2010-2019 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!