Здравствуйте. Скажите, есть ли формула, которая бы заполняла даты по условиям, а именно: 1. Дата не обязательно должна начинаться с "дата от" и заканчиваться "датой до". Т.е. даты могут начинаться и заканчиваться данными значениями, но не всегда, а рандомно; 2. Даты идут по возрастанию (от меньшего значения к большему); 3. Разрыв между датами рандомный, но по заданным параметрам (минимальный разрыв и максимальный разрыв) 4. С указанием даты от и до интересующего интервала Вот ТУТ набросал табличку, в которой можно попробовать варианты. В диапазоне А4:А21 хотелось бы чтоб формула расставила даты. В ячейках подкрашенных фоном указаны интересующие параметры. Нужно это для назначения разного рода задач с рандомным временем выполнения. Сейчас это все делаю вручную, неудобство заключается в том, что руками получается почему то одинаково... т.е. прослеживается некая закономерность, а хотелось бы чтоб была формула с рандомом. Спасибо всем, кто попытается помочь.
Здравствуйте. Скажите, есть ли формула, которая бы заполняла даты по условиям, а именно: 1. Дата не обязательно должна начинаться с "дата от" и заканчиваться "датой до". Т.е. даты могут начинаться и заканчиваться данными значениями, но не всегда, а рандомно; 2. Даты идут по возрастанию (от меньшего значения к большему); 3. Разрыв между датами рандомный, но по заданным параметрам (минимальный разрыв и максимальный разрыв) 4. С указанием даты от и до интересующего интервала Вот ТУТ набросал табличку, в которой можно попробовать варианты. В диапазоне А4:А21 хотелось бы чтоб формула расставила даты. В ячейках подкрашенных фоном указаны интересующие параметры. Нужно это для назначения разного рода задач с рандомным временем выполнения. Сейчас это все делаю вручную, неудобство заключается в том, что руками получается почему то одинаково... т.е. прослеживается некая закономерность, а хотелось бы чтоб была формула с рандомом. Спасибо всем, кто попытается помочь.Faraway
Один из способов, как я это делал ранее - в первой ячейке указывал "дату от", в последней - "дату до", между ними я ставил формулы "случмежду" и тогда уже сортировал по порядку, но это немного не то, что хотелось бы.
Один из способов, как я это делал ранее - в первой ячейке указывал "дату от", в последней - "дату до", между ними я ставил формулы "случмежду" и тогда уже сортировал по порядку, но это немного не то, что хотелось бы.Faraway
Я предлагаю сначала сгенерировать валидную последовательность дат в колонке A - от начальной даты и до некоторой даты в будущем, заведомо большей конечной даты. Для этого приравняем ячейку A4 начальной дате: [vba]
Код
=C3
[/vba] А в ячейку A5 введем (и затем протянем в будущее) следующую формулу: [vba]
Код
=A4 + RANDBETWEEN($C$4;$C$5)
[/vba]
Далее в ячейку E4 введем мегаформулу, которая будет отображать последовательность дат, удовлетворяющую условиям задачи: [vba]
[/vba]Формула использует сгенеренные даты от [начальной] до [конечной-3 дня], добавляет [конечную] и анализирует разрыв между [конечной] и предыдущей. Если он больше 11 дней, то между [конечной] и предыдущей добавляется дата, среднеарифметическая между ними.
Всё это формульное хозяйство добавил в Ваш файл по ссылке из сообщения №1.
[p.s.]А если переживем необходимость иметь одну пустую ячейку сразу после даты конца месяца (туда отсортировывается пустая строка, если не вычисляется дополнительная среднеарифметическая дата), то формулу можно еще больше упростить (см. в ячейке F4):[/p.s.] [vba]
Я предлагаю сначала сгенерировать валидную последовательность дат в колонке A - от начальной даты и до некоторой даты в будущем, заведомо большей конечной даты. Для этого приравняем ячейку A4 начальной дате: [vba]
Код
=C3
[/vba] А в ячейку A5 введем (и затем протянем в будущее) следующую формулу: [vba]
Код
=A4 + RANDBETWEEN($C$4;$C$5)
[/vba]
Далее в ячейку E4 введем мегаформулу, которая будет отображать последовательность дат, удовлетворяющую условиям задачи: [vba]
[/vba]Формула использует сгенеренные даты от [начальной] до [конечной-3 дня], добавляет [конечную] и анализирует разрыв между [конечной] и предыдущей. Если он больше 11 дней, то между [конечной] и предыдущей добавляется дата, среднеарифметическая между ними.
Всё это формульное хозяйство добавил в Ваш файл по ссылке из сообщения №1.
[p.s.]А если переживем необходимость иметь одну пустую ячейку сразу после даты конца месяца (туда отсортировывается пустая строка, если не вычисляется дополнительная среднеарифметическая дата), то формулу можно еще больше упростить (см. в ячейке F4):[/p.s.] [vba]
Gustav, спасибо. Потерял закладку с темой (не только с этой) и вот теперь снова возникла надобность в таких датах и я вспомнил что задавал вопрос. Да, по логике вроде как формула работает. И я почти понимаю, что формула делает, ключевое слово - почти ) Еще сделал так, чтоб начальная дата и конечная тоже выдавались рандомно и они теперь постоянно будут меняться в указанных пределах, так вообще то что надо! Спасибо!
Gustav, спасибо. Потерял закладку с темой (не только с этой) и вот теперь снова возникла надобность в таких датах и я вспомнил что задавал вопрос. Да, по логике вроде как формула работает. И я почти понимаю, что формула делает, ключевое слово - почти ) Еще сделал так, чтоб начальная дата и конечная тоже выдавались рандомно и они теперь постоянно будут меняться в указанных пределах, так вообще то что надо! Спасибо!Faraway
Gustav, а реально вот это все сделать без использования столбца А, а только используя условия из столбов В и С? В идеале еще и так, чтоб можно было указывать необходимое количество результатов в выдаче. (это конечно же если не займет много времени и сил)
Gustav, а реально вот это все сделать без использования столбца А, а только используя условия из столбов В и С? В идеале еще и так, чтоб можно было указывать необходимое количество результатов в выдаче. (это конечно же если не займет много времени и сил)Faraway
Сообщение отредактировал Faraway - Суббота, 01.05.2021, 10:32