Новости:

К первому сообщению темы должен быть прикреплен файл примера в формате xls*.
Приложив пример, Вы избавите себя и других от вопросов типа "А какой критерий?", "А куда выводить результат?", "А сколько строк?" и все тех же просьб выложить файл. Рисовать за Вас Ваши же таблички с заданиями, а затем и решение к ним, никто желанием не горит. Да и, как показывает практика, в большинстве случаев без файла решения не найти.

Главное меню

Нужно автозаполнение по числам месяца

Автор Филат, 19.06.2011, 15:48

« назад - далее »

Филат

Здравствуйте!

Есть таблица со столбцами Наименование, 1, 2, 3... 29, 30, 31, Всего за месяц (т. е. календарный план). Как автоматизировать заполнение ячеек с датами, если заранее известно значение последнего столбца?
При этом возможны 2 ситуации: 1) сумма больше 31, тогда требуется более или менее равномерное заполнение по дням,
2) сумма меньше 31, тогда требуется заполнить единицами любые дни месяца.

Спасибо.


Serge 007

Здравствуйте.

Давайте пример в xls распределения по обеим ситуациям.
Бесплатная помощь: www.excelworld.ru
Платная помощь: sergeyizotov@excelworld.ru
Ю-money: 41001419691823 | WMR:126292472390

Филат


Serge 007

Цитата: Филат от 19.06.2011, 16:51
Пожалуйста.
И где "пример распределения по обеим ситуациям"?!
Бесплатная помощь: www.excelworld.ru
Платная помощь: sergeyizotov@excelworld.ru
Ю-money: 41001419691823 | WMR:126292472390

Филат


Serge 007

Почему в первом случае с 20-го по 26-е?
А во втором единица 31-го?
Бесплатная помощь: www.excelworld.ru
Платная помощь: sergeyizotov@excelworld.ru
Ю-money: 41001419691823 | WMR:126292472390

Serge 007

Пока жду ответа на вопросы посмотрите такой вариант:
=ЕСЛИ($AG2<МАКС($B$1:$AG$1);ЕСЛИ(СУММ($A$2:A2)<$AG2;1;0);ЦЕЛОЕ($AG2/МАКС($B$1:$AG$1))+ЕСЛИ(СЧЁТЗ($A2:A2)<=ОСТАТ($AG2;МАКС($B$1:$AG$1));1;0))
Бесплатная помощь: www.excelworld.ru
Платная помощь: sergeyizotov@excelworld.ru
Ю-money: 41001419691823 | WMR:126292472390

Филат

#7
Цитата: Serge 007 от 19.06.2011, 17:47
Почему в первом случае с 20-го по 26-е?
Выбрал произвольные 7 дней.
ЦитироватьА во втором единица 31-го?
Потому что 61 нацело на 31 не делится, а делить нужно приблизительно равномерно.

Ваш вариант годится. Только поясните, пожалуйста, что означает эта формула, в какую ячейку её вводить и как ее составить самому. :-[
Спасибо.

Serge 007

Цитата: Филат от 19.06.2011, 18:16
1. Выбрал произвольные 7 дней.

2. Потому что 61 нацело на 31 не делится, а делить нужно приблизительно равномерно.

3. Поясните, что означает эта формула, в какую ячейку её вводить и как ее составить самому.
1. --
2. Это и так понятно, я спрашивал почему именно 31-го? Почему не первого или 15-го, например? Уже можно не отвечать :)
3.
  а. Эта формула ничего не означает, впрочем как и любая другая, она просто возвращает необходимый результат.
  б. Вводить в левую верхнюю ячейку диапазона.
  в. Если бы Вы могли составить формулу сами, то наверное не искали бы помощи на форуме? ;)

Логика работы формулы:
1. Сначала определяем больше общая сумма чем кол-во дней или нет $AG2<МАКС($B$1:$AG$1)
2. Если меньше то ставим единицы слева-направо, до тех пор, пока сумма проставленных единиц не будет равна общей сумме, потом ставим нули ЕСЛИ(СУММ($A$2:A2)<$AG2;1;0)
3. Если больше, то возвращаем в каждую ячейку целую часть от деления общей суммы на кол-во дней и плюсуем к ней единички , слева-направо, до тех пор, пока есть остаток от деления, после плюсуем нули ЦЕЛОЕ($AG2/МАКС($B$1:$AG$1))+ЕСЛИ(СЧЁТЗ($A2:A2)<=ОСТАТ($AG2;МАКС($B$1:$AG$1));1;0)

Надеюсь объяснил понятно...


ЗЫ Дим, кол-во дней в месяце может быть разным :)
Бесплатная помощь: www.excelworld.ru
Платная помощь: sergeyizotov@excelworld.ru
Ю-money: 41001419691823 | WMR:126292472390

DV68

#9
Цитата: Serge 007 от 19.06.2011, 18:55
...
ЗЫ Дим, кол-во дней в месяце может быть разным :)

случайно удалил сообщение.
поправил формулу в связи с замечанием
В2:
=ЕСЛИ(B$1;ОКРВВЕРХ(($AG2+1)/МАКС($AC$1:$AF$1);1)-(B$1>ОСТАТ($AG2;МАКС($AC$1:$AF$1)));"")

_Boroda_

еще вариант
=ОКРВВЕРХ(($AG2-СУММ($A2:A2))/СЧЁТ(B$1:$AG$1);1)
Скажи мне, кудесник, любимец ба'гов...



Яндекс-деньги: 41001632713405
Webmoney: R289877159277; Z102172301748; E177867141995

Филат

#11
Спасибо всем откликнувшимся.  sm_clap Не ожидал, что есть столько подходящих вариантов.
Пользоваться буду, наверное, самой короткой формулой. :)

Вот только не могу понять, почему диапазон суммирования начинается с текстовой ячейки А2, а не числовой В2.

И почему-то при изменении формулы для другой строки появляется сообщение, что обнаружена ошибка, но Excel ее исправил и предлагает принять исправления (см. скриншот).

_Boroda_

ЦитироватьВот только не могу понять, почему диапазон суммирования начинается с текстовой ячейки А2, а не числовой В2.
А как Вы тогда напишете формулу для ячейки В2? Текст внутри СУММ дает ноль и, следовательно, не мешает.

Цитировать
И почему-то при изменении формулы для другой строки появляется сообщение, что обнаружена ошибка, но Excel ее исправил и предлагает принять исправления (см. скриншот).
У Вас в формуле два первых равно
==формула
Скажи мне, кудесник, любимец ба'гов...



Яндекс-деньги: 41001632713405
Webmoney: R289877159277; Z102172301748; E177867141995

Филат

Цитата: _Boroda_ от 19.06.2011, 20:59
ЦитироватьВот только не могу понять, почему диапазон суммирования начинается с текстовой ячейки А2, а не числовой В2.
А как Вы тогда напишете формулу для ячейки В2? Текст внутри СУММ дает ноль и, следовательно, не мешает.
А-а, тогда понятно. :)
Цитировать
Цитировать
И почему-то при изменении формулы для другой строки появляется сообщение, что обнаружена ошибка, но Excel ее исправил и предлагает принять исправления (см. скриншот).
У Вас в формуле два первых равно
==формула
Спасибо.