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

Вход

Регистрация

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

 

= Мир MS Excel/Равномерное распределение по месяцам - Мир MS Excel

Старая форма входа
  • Страница 1 из 2
  • 1
  • 2
  • »
Модератор форума: китин  
Равномерное распределение по месяцам
Понравилось?
Светлый Дата: Среда, 27.10.2021, 09:46 | Сообщение № 1
Группа: Друзья
Ранг: Старожил
Сообщений: 1851
Репутация: 523 ±
Замечаний: 0% ±

Excel 2013, 2016
Давно не брал я в руки шашку...
Всеобщий привет формулистам и сочувствующим!
Делал для ТС формулу. Опубликовал решения в 130 символов.
Решил, что задачку можно запустить в МШ.
Есть столбец целых чисел. Их надо распределить на 12 месяцев, чтобы суммы по столбцам были одинаковые или различались не более чем на 1.
У меня есть решение для 2003 на 111 символов и для более новых офисов в 104 символа.
Интуиция подсказывает, что должно быть решение меньше 100 символов. И спецы наверняка найдут такие решения.
Прикладываю файл. Там уже есть опубликованные ранее формулы. Удалять их не стал, просто скрыл строки. Для удобства проверки сделал УФ и генерацию случайных значений. Чтобы не прокралась ошибка из-за недостатка исходных комбинаций.
До понедельника всего ничего, предлагаю вскрываться через понедельник 08.11.2021.
Всем удачи!
К сообщению приложен файл: porovnu_vopr.xls (69.5 Kb)


Программировать проще, чем писать стихи.
 
Ответить
СообщениеДавно не брал я в руки шашку...
Всеобщий привет формулистам и сочувствующим!
Делал для ТС формулу. Опубликовал решения в 130 символов.
Решил, что задачку можно запустить в МШ.
Есть столбец целых чисел. Их надо распределить на 12 месяцев, чтобы суммы по столбцам были одинаковые или различались не более чем на 1.
У меня есть решение для 2003 на 111 символов и для более новых офисов в 104 символа.
Интуиция подсказывает, что должно быть решение меньше 100 символов. И спецы наверняка найдут такие решения.
Прикладываю файл. Там уже есть опубликованные ранее формулы. Удалять их не стал, просто скрыл строки. Для удобства проверки сделал УФ и генерацию случайных значений. Чтобы не прокралась ошибка из-за недостатка исходных комбинаций.
До понедельника всего ничего, предлагаю вскрываться через понедельник 08.11.2021.
Всем удачи!

Автор - Светлый
Дата добавления - 27.10.2021 в 09:46
Светлый Дата: Пятница, 29.10.2021, 13:49 | Сообщение № 2
Группа: Друзья
Ранг: Старожил
Сообщений: 1851
Репутация: 523 ±
Замечаний: 0% ±

Excel 2013, 2016
Со 130 сбросил до 119, а потом до 107 символов.


Программировать проще, чем писать стихи.
 
Ответить
СообщениеСо 130 сбросил до 119, а потом до 107 символов.

Автор - Светлый
Дата добавления - 29.10.2021 в 13:49
MCH Дата: Воскресенье, 31.10.2021, 23:28 | Сообщение № 3
Группа: Админы
Ранг: Старожил
Сообщений: 2004
Репутация: 752 ±
Замечаний: ±

Светлый, Вашу формулу в 111 сократил до 106
 
Ответить
СообщениеСветлый, Вашу формулу в 111 сократил до 106

Автор - MCH
Дата добавления - 31.10.2021 в 23:28
Светлый Дата: Понедельник, 01.11.2021, 09:16 | Сообщение № 4
Группа: Друзья
Ранг: Старожил
Сообщений: 1851
Репутация: 523 ±
Замечаний: 0% ±

Excel 2013, 2016
Вашу формулу в 111 сократил до 106
Я же её не публиковал. Откуда знаете, что это именно моя формула? Кстати, я сократил её до 96 символов.


Программировать проще, чем писать стихи.
 
Ответить
Сообщение
Вашу формулу в 111 сократил до 106
Я же её не публиковал. Откуда знаете, что это именно моя формула? Кстати, я сократил её до 96 символов.

Автор - Светлый
Дата добавления - 01.11.2021 в 09:16
MCH Дата: Понедельник, 01.11.2021, 15:00 | Сообщение № 5
Группа: Админы
Ранг: Старожил
Сообщений: 2004
Репутация: 752 ±
Замечаний: ±

1. Я правильно понимаю, что можно ссылаться на ячейки с номерами месяцев и на итоговую сумму, и указывать число месяцев (12) сразу числом без вычислений?
2. Чем Формула для 2003 отличается от остальных? АГРЕГАТ вместо НАИМЕНЬШИЙ или округления или ЕСЛИОШИБКА?
ЕСЛИОШИБКА это уже половина формулы
 
Ответить
Сообщение1. Я правильно понимаю, что можно ссылаться на ячейки с номерами месяцев и на итоговую сумму, и указывать число месяцев (12) сразу числом без вычислений?
2. Чем Формула для 2003 отличается от остальных? АГРЕГАТ вместо НАИМЕНЬШИЙ или округления или ЕСЛИОШИБКА?
ЕСЛИОШИБКА это уже половина формулы

Автор - MCH
Дата добавления - 01.11.2021 в 15:00
Светлый Дата: Понедельник, 01.11.2021, 15:09 | Сообщение № 6
Группа: Друзья
Ранг: Старожил
Сообщений: 1851
Репутация: 523 ±
Замечаний: 0% ±

Excel 2013, 2016
1. Да. Да.
2. Да.
У меня была ЕСЛИОШИБКА. Но я без неё нашёл более короткое решение.
*И строчку нулей, тоже можно использовать, раз уж она есть.


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

Сообщение отредактировал Светлый - Понедельник, 01.11.2021, 15:13
 
Ответить
Сообщение1. Да. Да.
2. Да.
У меня была ЕСЛИОШИБКА. Но я без неё нашёл более короткое решение.
*И строчку нулей, тоже можно использовать, раз уж она есть.

Автор - Светлый
Дата добавления - 01.11.2021 в 15:09
MCH Дата: Понедельник, 01.11.2021, 15:18 | Сообщение № 7
Группа: Админы
Ранг: Старожил
Сообщений: 2004
Репутация: 752 ±
Замечаний: ±

Цитата Светлый, 01.11.2021 в 09:16, в сообщении № 4 ()
Я же её не публиковал. Откуда знаете, что это именно моя формула?

Это я 131 сократил до 106 без изменения алгоритма, просто сократив вычисления:
от ЕСЛИ(ОСТАТ($B4;12); можно избавится
ТРАНСП(СТРОКА($3:3)^0) - можно короче записать

над остальным нужно думать, может быть и алгоритм другой нужен, т.к. через МИН и ОКРУГЛ получается коротко и красиво, но не обеспечивается минимальный разброс
 
Ответить
Сообщение
Цитата Светлый, 01.11.2021 в 09:16, в сообщении № 4 ()
Я же её не публиковал. Откуда знаете, что это именно моя формула?

Это я 131 сократил до 106 без изменения алгоритма, просто сократив вычисления:
от ЕСЛИ(ОСТАТ($B4;12); можно избавится
ТРАНСП(СТРОКА($3:3)^0) - можно короче записать

над остальным нужно думать, может быть и алгоритм другой нужен, т.к. через МИН и ОКРУГЛ получается коротко и красиво, но не обеспечивается минимальный разброс

Автор - MCH
Дата добавления - 01.11.2021 в 15:18
Светлый Дата: Понедельник, 01.11.2021, 16:45 | Сообщение № 8
Группа: Друзья
Ранг: Старожил
Сообщений: 1851
Репутация: 523 ±
Замечаний: 0% ±

Excel 2013, 2016
ТРАНСП(СТРОКА($3:3)^0) - можно короче записать
Действительно, на один четыре шесть символов короче получилось. Меня смущали строки с нулевым значением. Но при умножении матриц там всё равно нули. Над этим решением я уже не думаю. Я короткое пытаюсь ещё сократить. Или что-то новенькое придумать. Кстати, оба решения в 106 103 101 и в 96 символов с разными алгоритмами совершенно одинаковые. Все числа в решениях совпадают.
*Замылился уже взгляд.
**100 98 и 96
***Не зря вернулся к первоначальной формуле. 86 символов и 96.


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

Сообщение отредактировал Светлый - Вторник, 02.11.2021, 10:55
 
Ответить
Сообщение
ТРАНСП(СТРОКА($3:3)^0) - можно короче записать
Действительно, на один четыре шесть символов короче получилось. Меня смущали строки с нулевым значением. Но при умножении матриц там всё равно нули. Над этим решением я уже не думаю. Я короткое пытаюсь ещё сократить. Или что-то новенькое придумать. Кстати, оба решения в 106 103 101 и в 96 символов с разными алгоритмами совершенно одинаковые. Все числа в решениях совпадают.
*Замылился уже взгляд.
**100 98 и 96
***Не зря вернулся к первоначальной формуле. 86 символов и 96.

Автор - Светлый
Дата добавления - 01.11.2021 в 16:45
Светлый Дата: Вторник, 02.11.2021, 18:30 | Сообщение № 9
Группа: Друзья
Ранг: Старожил
Сообщений: 1851
Репутация: 523 ±
Замечаний: 0% ±

Excel 2013, 2016
Немного подправил вторую формулу. Теперь длина 86 и 89 79 символов.


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

Сообщение отредактировал Светлый - Вторник, 02.11.2021, 18:34
 
Ответить
СообщениеНемного подправил вторую формулу. Теперь длина 86 и 89 79 символов.

Автор - Светлый
Дата добавления - 02.11.2021 в 18:30
Светлый Дата: Среда, 03.11.2021, 20:12 | Сообщение № 10
Группа: Друзья
Ранг: Старожил
Сообщений: 1851
Репутация: 523 ±
Замечаний: 0% ±

Excel 2013, 2016
Любую формулу можно сократить хотя бы на один символ. 84 и 79.


Программировать проще, чем писать стихи.
 
Ответить
СообщениеЛюбую формулу можно сократить хотя бы на один символ. 84 и 79.

Автор - Светлый
Дата добавления - 03.11.2021 в 20:12
MCH Дата: Пятница, 05.11.2021, 09:05 | Сообщение № 11
Группа: Админы
Ранг: Старожил
Сообщений: 2004
Репутация: 752 ±
Замечаний: ±

Есть решение на 100 символов (сокращение предыдущей формулы)
 
Ответить
СообщениеЕсть решение на 100 символов (сокращение предыдущей формулы)

Автор - MCH
Дата добавления - 05.11.2021 в 09:05
Светлый Дата: Понедельник, 08.11.2021, 07:16 | Сообщение № 12
Группа: Друзья
Ранг: Старожил
Сообщений: 1851
Репутация: 523 ±
Замечаний: 0% ±

Excel 2013, 2016
Выкладываю решения. Формулы массивов. Есть и нелетучее решение.
Код
=(СЧЁТ(LN(МУМНОЖ(ТРАНСП($B$2:$B3>0)+1%;C$2:C3-$C$2:$N3)))<ОСТАТ($B4;12))+ОТБР($B4/12)
Код
=СЧЁТ(1/(ОСТАТ(СМЕЩ($B$2;;;;ОСТАТ($B4;12))+СУММ($B$3:$B3);12)=B$2))+ОТБР($B4/12)
В файле почти вся история сокращений.
*Файл перезалил уже с новыми формулами.
К сообщению приложен файл: porovnu_otv.xls (80.0 Kb)


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

Сообщение отредактировал Светлый - Понедельник, 08.11.2021, 20:41
 
Ответить
СообщениеВыкладываю решения. Формулы массивов. Есть и нелетучее решение.
Код
=(СЧЁТ(LN(МУМНОЖ(ТРАНСП($B$2:$B3>0)+1%;C$2:C3-$C$2:$N3)))<ОСТАТ($B4;12))+ОТБР($B4/12)
Код
=СЧЁТ(1/(ОСТАТ(СМЕЩ($B$2;;;;ОСТАТ($B4;12))+СУММ($B$3:$B3);12)=B$2))+ОТБР($B4/12)
В файле почти вся история сокращений.
*Файл перезалил уже с новыми формулами.

Автор - Светлый
Дата добавления - 08.11.2021 в 07:16
MCH Дата: Понедельник, 08.11.2021, 11:43 | Сообщение № 13
Группа: Админы
Ранг: Старожил
Сообщений: 2004
Репутация: 752 ±
Замечаний: ±

Моя формула на 100, основанная на первоначальной формуле в 131 символ:
Код
=ОТБР($B4/12)+(C$2%<НАИМЕНЬШИЙ($C$2:$N$2%+МУМНОЖ(ТРАНСП(1^C$3:C3);$C$3:$N3-C$3:C3);1+ОСТАТ($B4;12)))


подумаю над алгоритмом новых формул
 
Ответить
СообщениеМоя формула на 100, основанная на первоначальной формуле в 131 символ:
Код
=ОТБР($B4/12)+(C$2%<НАИМЕНЬШИЙ($C$2:$N$2%+МУМНОЖ(ТРАНСП(1^C$3:C3);$C$3:$N3-C$3:C3);1+ОСТАТ($B4;12)))


подумаю над алгоритмом новых формул

Автор - MCH
Дата добавления - 08.11.2021 в 11:43
Светлый Дата: Понедельник, 08.11.2021, 19:46 | Сообщение № 14
Группа: Друзья
Ранг: Старожил
Сообщений: 1851
Репутация: 523 ±
Замечаний: 0% ±

Excel 2013, 2016
Ну и вишенка на торте - формула длиной 69 символов:
Код
=ОТБР(СУММ($B4;Ч(0>МУМНОЖ(ТРАНСП($B$2:$B3>0)+1%;C$2:C3-$C$2:$N3)))/12)


Программировать проще, чем писать стихи.
 
Ответить
СообщениеНу и вишенка на торте - формула длиной 69 символов:
Код
=ОТБР(СУММ($B4;Ч(0>МУМНОЖ(ТРАНСП($B$2:$B3>0)+1%;C$2:C3-$C$2:$N3)))/12)

Автор - Светлый
Дата добавления - 08.11.2021 в 19:46
Светлый Дата: Пятница, 12.11.2021, 10:18 | Сообщение № 15
Группа: Друзья
Ранг: Старожил
Сообщений: 1851
Репутация: 523 ±
Замечаний: 0% ±

Excel 2013, 2016
Ну и совсем уже ни в какие ворота! Сам в шоке! Даже не массивная. Всего 57 символов.
Код
=(ОСТАТ(СУММ($B$3:$B4)-C$2;12)<ОСТАТ($B4;12))+ОТБР($B4/12)


Программировать проще, чем писать стихи.
 
Ответить
СообщениеНу и совсем уже ни в какие ворота! Сам в шоке! Даже не массивная. Всего 57 символов.
Код
=(ОСТАТ(СУММ($B$3:$B4)-C$2;12)<ОСТАТ($B4;12))+ОТБР($B4/12)

Автор - Светлый
Дата добавления - 12.11.2021 в 10:18
Serge_007 Дата: Пятница, 12.11.2021, 11:21 | Сообщение № 16
Группа: Админы
Ранг: Местный житель
Сообщений: 16475
Репутация: 2749 ±
Замечаний: ±

Excel 2016
Цитата Светлый, 12.11.2021 в 10:18, в сообщении № 15 ()
Сам в шоке!
Гений! yes hands


ЮMoney:41001419691823 | WMR:126292472390
 
Ответить
Сообщение
Цитата Светлый, 12.11.2021 в 10:18, в сообщении № 15 ()
Сам в шоке!
Гений! yes hands

Автор - Serge_007
Дата добавления - 12.11.2021 в 11:21
MCH Дата: Понедельник, 15.11.2021, 16:52 | Сообщение № 17
Группа: Админы
Ранг: Старожил
Сообщений: 2004
Репутация: 752 ±
Замечаний: ±

Цитата Светлый, 12.11.2021 в 10:18, в сообщении № 15 ()
Ну и совсем уже ни в какие ворота! Сам в шоке!

Сергей, ну это просто издевательство над нами.
Как можно до такого додуматься и как понять почему это работает?
 
Ответить
Сообщение
Цитата Светлый, 12.11.2021 в 10:18, в сообщении № 15 ()
Ну и совсем уже ни в какие ворота! Сам в шоке!

Сергей, ну это просто издевательство над нами.
Как можно до такого додуматься и как понять почему это работает?

Автор - MCH
Дата добавления - 15.11.2021 в 16:52
Светлый Дата: Понедельник, 15.11.2021, 20:51 | Сообщение № 18
Группа: Друзья
Ранг: Старожил
Сообщений: 1851
Репутация: 523 ±
Замечаний: 0% ±

Excel 2013, 2016
Как можно до такого додуматься
Я с самого начала видел это решение, но никак не мог придумать формулу. Целый месяц мозг ломал. Если убрать из формулы последнее слагаемое, то получится то, чего я так упорно добивался.
Код
=Ч(ОСТАТ(СУММ($B$3:$B4)-C$2;12)<ОСТАТ($B4;12))
цепочки единичек, которые заполняются в следующей строке справа от последней единички в предыдущей строке с продолжением в начале строки, если их больше. Но никак не мог в начало их перенести. Пока не попробовал вычитать, а не прибавлять. И тогда формула заработала. Такие цепочки равномерно заполняют весь массив, что нам и нужно. Количество единиц в строке равно остатку от деления на 12 левого числа, а конец заполнения остаток от деления на 12 суммы левых чисел от начала до текущей строки, включая её. Ну и осталось прибавить ко всей строке второе слагаемое.


Программировать проще, чем писать стихи.
 
Ответить
Сообщение
Как можно до такого додуматься
Я с самого начала видел это решение, но никак не мог придумать формулу. Целый месяц мозг ломал. Если убрать из формулы последнее слагаемое, то получится то, чего я так упорно добивался.
Код
=Ч(ОСТАТ(СУММ($B$3:$B4)-C$2;12)<ОСТАТ($B4;12))
цепочки единичек, которые заполняются в следующей строке справа от последней единички в предыдущей строке с продолжением в начале строки, если их больше. Но никак не мог в начало их перенести. Пока не попробовал вычитать, а не прибавлять. И тогда формула заработала. Такие цепочки равномерно заполняют весь массив, что нам и нужно. Количество единиц в строке равно остатку от деления на 12 левого числа, а конец заполнения остаток от деления на 12 суммы левых чисел от начала до текущей строки, включая её. Ну и осталось прибавить ко всей строке второе слагаемое.

Автор - Светлый
Дата добавления - 15.11.2021 в 20:51
MCH Дата: Понедельник, 15.11.2021, 21:53 | Сообщение № 19
Группа: Админы
Ранг: Старожил
Сообщений: 2004
Репутация: 752 ±
Замечаний: ±

Цитата Светлый, 15.11.2021 в 20:51, в сообщении № 18 ()
Целый месяц мозг ломал.

А нам срок чуть больше недели поставил, мы даже додуматься до алгоритма с решением не могли
Надо было хоть вектор указать, куда смотреть, а так мы только готовое решение можем немного укоротить, если есть возможность
 
Ответить
Сообщение
Цитата Светлый, 15.11.2021 в 20:51, в сообщении № 18 ()
Целый месяц мозг ломал.

А нам срок чуть больше недели поставил, мы даже додуматься до алгоритма с решением не могли
Надо было хоть вектор указать, куда смотреть, а так мы только готовое решение можем немного укоротить, если есть возможность

Автор - MCH
Дата добавления - 15.11.2021 в 21:53
Светлый Дата: Понедельник, 15.11.2021, 23:38 | Сообщение № 20
Группа: Друзья
Ранг: Старожил
Сообщений: 1851
Репутация: 523 ±
Замечаний: 0% ±

Excel 2013, 2016
А нам срок чуть больше недели поставил
До МШ я за один-два дня формулу до 130 символов довёл. Здесь. А дальше вместе с вами думал. Месяц - это я преувеличил. Субъективное ощущение.
Своей ошибкой считаю, что выложил готовое решение. Оно всех сбило. Надо было без решения задачу поставить. Больше места для фантазий. Все бы с самого начала пытались что-то придумать. Больше вариантов.
Я и сам эту формулу начал выводить из ранее решённого ответа ТС. Меня это тоже сбило. Но там другая задача была. Надо было равномерно на месяц раскидать эти числа. С равномерными пустыми промежутками. А здесь можно по порядку укладывать. Более плотно. Совсем другой принцип.


Программировать проще, чем писать стихи.
 
Ответить
Сообщение
А нам срок чуть больше недели поставил
До МШ я за один-два дня формулу до 130 символов довёл. Здесь. А дальше вместе с вами думал. Месяц - это я преувеличил. Субъективное ощущение.
Своей ошибкой считаю, что выложил готовое решение. Оно всех сбило. Надо было без решения задачу поставить. Больше места для фантазий. Все бы с самого начала пытались что-то придумать. Больше вариантов.
Я и сам эту формулу начал выводить из ранее решённого ответа ТС. Меня это тоже сбило. Но там другая задача была. Надо было равномерно на месяц раскидать эти числа. С равномерными пустыми промежутками. А здесь можно по порядку укладывать. Более плотно. Совсем другой принцип.

Автор - Светлый
Дата добавления - 15.11.2021 в 23:38
  • Страница 1 из 2
  • 1
  • 2
  • »
Поиск:

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