Цитата |
---|
Владимир написал: Давайте выкладываться |
Избушка формулистов-3, не для вопросов, но для формульных задач
21.07.2017 13:30:07
|
|
|
|
21.07.2017 13:52:16
|
|||
|
|
21.07.2017 14:07:26
Я понял задачу именно так. Если A1 менее даты первого четверга, то дата первого четверга, если нет, то дата первого четверга следующего месяца.
??? <<JayBhagavan написал: Иначе, если дата меньше даты первого четверга этого месяца, то возвращаем дату первого четверга этого месяца, иначе - дату первого четверга следующего месяца. >>
Изменено:
"..Сладку ягоду рвали вместе, горьку ягоду я одна."
|
|
|
|
21.07.2017 14:49:34
=МИН(ОКРВВЕРХ(A1+1;ДАТА(ГОД(A1);МЕСЯЦ(A1)+{0;1;1};{1;-6;1})+ОСТАТ(4-ДАТА(ГОД(A1);МЕСЯЦ(A1)+{0;1;1};);7)))
105 символов Все функции работают в Excel2003
Изменено:
|
|
|
|
21.07.2017 15:07:37
67:
=1-ГПР(-A1;-ОТБР(ДАТА(ГОД(A1);МЕСЯЦ(A1)+{1;1;0};{2;-5;2})/7)*7-4;1) Тоже должна работать в любой версии Excel
Изменено: |
|
|
|
21.07.2017 15:14:02
F1 творит чудеса
|
|||
|
|
21.07.2017 15:51:27
67: вместо ЦЕЛОЕ - ОТБР
|
|
|
|
21.07.2017 16:48:38
|
|
|
|
28.07.2017 08:45:11
Что-то JayBhagavan (Иван) пропал.
Я думал в лоб решать эту задачу. На изящные решения мозгов пока не хватает (надеюсь что только пока). первый чт. =A1-ДЕНЬ(A1)+7-ДЕНЬНЕД(A1-ДЕНЬ(A1)-5) послед. чт. =КОНМЕСЯЦА(A2;0)-ОСТАТ(КОНМЕСЯЦА(A2;0)+2;7) Ну и там их комбинировать. В одну формулу не стал переводить, т.к. вышло бы очень громоздко. Подозреваю, что у KOLLIAK решение из этой серии. Сижу, смотрю на формулы MCH, АlехМ, Владимир -- пытаюсь понять как к такому решению пришли... |
|
|
|
20.08.2017 23:24:05
Прошу прощения, формулы у MR AleexM и у MR МСН дают разные результаты
|
|
|
|
21.08.2017 13:11:38
Akropochev, Покажите в файле-примере, при каких датах результат не совпадает.
|
|
|
|
21.08.2017 13:13:01
я тоже глянул 25-05-17 не идет. У MCH некорректно (если правильно помню задание)
|
|
|
|
22.08.2017 08:11:05
Формулу исправил:
=1-ГПР(-A1;-ОТБР(ДАТА(ГОД(A1);МЕСЯЦ(A1)+{1;1;0};{2;-5;2})/7)*7-4;1)
Изменено: |
|
|
|
18.10.2017 00:03:50
Всем привет!
помните тему: там было написано некоторое количество макросов, а вопрос вообще-то звучал "какую формулу использовать"? задача провисела на форуме более 3-х месяцев, в период бурного обсуждения насобирала более 50 сообщений. считаю кому было интересно, мог поискать и найти формулу (вот эту):
как видите, в формуле есть 3 ссылка на ячейку А2, в которую следует писать год, все остальное в формуле это числа, математических операций над ними и несколько простых функций Excel В прилагаемом файле для наглядности пара десятков первых лет и численность стада коров в эти годы Повторю на всякий случай условия задачи, которую я решал: на старте в стаде 1 корова. на первом году жизни она растет, на втором, четвертом, шестом году жизни рожает бычка (которые вообще не интересуют нас по условиям задачи), а на 3-м, 5-м, 7-м году жизни корова рожает корову. Корова живет ровно 7 лет (по истечении 7 лет она помирает). Все рассуждения о стартовой корове применимы ко всем остальным, которыми будет пополняться стадо. Вопрос: сколько коров будет в стаде в любом произвольно взятом году? Решение появилось потому, что я много раз возвращался к задаче и благодаря случайному знакомству с
Изменено:
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете!
|
|||
|
|
23.10.2017 22:03:55
Ау! Вы где, мозголомы? Ладно я ленивый, а остальные? Корову никогда не видели?
|
|
|
|
25.10.2017 18:08:41
Математически формулу Игоря можно упростить до такой:
или
как он вычислил данные коэффициенты - не понятно, функция ЛГРФПРИБЛ() находит немного другие величины Данная задача легко решается динамическим программированием (в т.ч. и формулами), при этом задействуются дополнительные ячейки
Изменено: |
|||||
|
|
27.10.2017 13:30:44
задачу эту я решил, когда заметил закономерность по количеству рождающихся коров:
см. таблицу, я сознательно пропускаю парные годы, когда рождались бычки:
а закономерность тут такая - каждое 4-е число есть сумма 3-х передыдущих. очевидно, имеем четко обозначенный ряд видимо, о числа Фибоначчи слышали и даже знают их многие, а этот ряд известен в математике как числа трибоначчи, но лично я об этом ничего не знал. так получилось, что вопрорс был задан Sokol92 и он сразу ответил, что это чисда трибоначчи, он это знал!! Дальше, понятно интернет и и формула для определения энного элемента ряда, она не такая элегантная как формула для чисел Фибоначчи, но зато есть! я специально не выполнил оперции над числами и оставил как в оригинале в статье с Вики все эти 586, 102, 33 и пр. в таблицу 2, которая, собственно, рассматриваети уже саму задачу (размер стада в энном году) добавлены строки с парными годами и колонка с размером стада
осталось только перейти от № года к № числа трибоначчи в табл.2 видно что 8-й год = 5тр., 9-й = 5тр., 10 = 6тр. и т.д. как видите, не прошло и трех месяцев с дня публикации, как задача уже была решена)))
Изменено:
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете!
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|
02.02.2018 12:21:18
и снова, здравствуйте!
на форуме уже почти сутки выложена тема: на мой взгляд она достойна чтобы вытащить ее в избушку, возможно, мне только показалось и меня легко переубедить если выложить решение в теме, особенно если это сделать через 20-30 минут после публикации этого сообщения, или через час, или хотя бы через полдня))) там много букв в теме попытаюсь обьяснить коротко суть задачи: 1. есть некий перечень обектов, у каждого есть характеризующий его коэффициент 2. есть некий обьем "штучных благ", который нужно распределить между обьектами пропорционально коэффициентам 3. у обьектов есть признак участвует он в распределении благ или нет "Да" / "Нет" 4. и есть колонка, в которой в ручном режиме некоторым обьектам уже распределено некоторое количество благ и они автоматически не участвуют в распределнии остатка благ - они уже получили свое. собственно задача написана в п.2 распределить блага между обьектами пропорционально коэффициентам с учетом главного условия: блага распределяются поштучно, минимальное количество на обьек = 3 шт. т.е. нужна формула в колонку Д. собственно текста уже не намного меньше, чем у автора темы)) но продолжу: 1. речь не идет о решении 1 формулой. речь о том, чтобы решить эту задачу. можно использовать сколько угодно дополнительных ячеек, колонок, строк, листов для решения, стандартно - в цене компактность. хотя... увидеть решение одной формулой было бы очень интересно! 2. что есть решение: решение - это когда у обьекта изменяется статус "Да" / "Нет", или в колонке с ручным распределение вставляются / удаляются значения или изменяется общее количество, которое нужно распределить, - в колонке с автоматическим распределением у определенных огбьектов должно появиться определенное количество распределяемых на него благ. в файле видно: лист1 Обьект, Статус, Ручное количество, Автомат. количество лист2 Обьект, Коэффициент на информацию о 500 - не обращаем внимания, на колонку 5, где автор вручную решил задачу - тоже не обращаем внимания задача в колонку 4 написать формулу которая каждому обьекту присвоит какое-то целое число: 0, 3 или больше. подставим в колонку М вместо 170 500 - получим распреление 500 щт. по обьектам с учетом уже вручную раскиданых 141 шт. в файле подставим вместо 170 1тыс. - в колонке Д - дожны увидеть как нужно распределить 1000-141 = 859 шт. по обьектам. всем удачи!
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете!
|
|
|
|
03.02.2018 10:00:24
Игорь, Вчера несколько раз подступал и понял, что задача описана не полностью, Коэффициент объекта - это только первенство в очереди, или получение в том числе большего количества благ. Я о том случае когда надо трем, а есть 12. они все получат по 4 или первый 5, второй 4, а третий свои 3?
Выложил вариант в исходной теме.
Изменено:
По вопросам из тем форума, личку не читаю.
|
|
|
|
03.02.2018 18:05:56
Формулами - не знаю . Но есть - макрос.
|
|
|
|
03.02.2018 21:49:13
у меня была мысль предложить решить эту задачу и макросами тоже
но не осквернит-ли это "избушку формулистов" если сюда попрут с макросами))) я лично собираюсь два решения сделать на формулах и макросом (собраться - я собрался, но не сделал еще ни одного) господа, активнее! вроде интересная задача
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете!
|
|
|
|
03.02.2018 21:53:09
Осквернит ))
|
|
|
|
03.02.2018 22:06:01
По вопросам из тем форума, личку не читаю.
|
|||
|
|
03.02.2018 22:16:57
нет. см. п.4 в описании задачи.
те, у кого статус Нет или уже что-то распределено вручную - не рассматриваются вообще, в этих строках формула автоматического распределения должна писать 0 и это самая простая часть задачи)
Изменено:
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете!
|
|
|
|
03.02.2018 23:17:07
|
|||||
|
|
06.02.2018 10:25:41
Может быть прикрутить к этой задаче
Изменено: |
|
|
|
06.02.2018 12:06:04
Решение происходит итерациями, поэтому формулами данный алгоритм не реализовать (по крайней мере одной формулой не реализовать) |
|||
|
|
07.02.2018 11:35:28
У меня получилось такое решение на VBA ("оскверняющее" Избушку), см. вложение.
Ігор Гончаренко, прошу проверить адекватность решения. без условия минимального распределения равного трем, можно реализовать формулами достаточно легко, а вот ограничение в 3 единицы необходимо решать итерациями (может и получится сделать формулами)
Изменено: |
||||
|
|
|||