3

Я застрял с проблемой в LibreOffice Calc или Writer:

Я пытаюсь получить таблицу дат для каждого понедельника, среды и пятницы в месяце, которую я могу загружать каждый новый месяц, которая устанавливает даты автоматически, поэтому мне просто нужно распечатать страницу на бумаге. :)

В Writer полевая команда для даты, очевидно, не может выполнять работу (насколько я могу видеть, она может быть установлена только на фиксированную дату, сегодняшнюю дату или + смещение).

В Calc я попробовал это с автозаполнением, но это, очевидно, работает только первые 3 дня.

Могу добавить, что я заблудился с формулами Excel/Calc ...

Любая помощь?

2 ответа2

1

Если ячейка C1 содержит дату, то по этой формуле будет указана дата первого понедельника месяца:

=MOD(DAY(C1)-WEEKDAY(C1,2)+1,7)

Так, например, если дата в C1 - 19th December 2012 , то по формуле будет 3 , поскольку 3-й - первый понедельник декабря 2012 года.

Чтобы создать полную дату первого понедельника, вы можете использовать:

=DATE(YEAR(C1),MONTH(C1),MOD(DAY(C1)-WEEKDAY(C1,2)+1,7))

Это приведет к 05/12/2012 (в зависимости от формата даты) - первый понедельник

Допустим, это в ячейке A4 . Чтобы заполнить оставшиеся дни, вам нужно добавить +2 для среды, затем +2 для пятницы, затем +3 для следующего понедельника. Проще всего сделать это вручную:

A5 будет =A4+2 A6 будет =A5+2 A7 будет =A6+3

Затем вы можете повторить это в таблице на оставшуюся часть месяца.

0

Ответ Павла, приведенный выше, сблизил меня, но потерпел неудачу, когда понедельник - последний день предыдущего месяца (MOD возвращает 0).

Например сентябрь 2015 г .; его формула возвращает 0, что означает 31 августа 2015 года как первый понедельник месяца.

Я использую 1 в качестве параметра для дня недели, а затем добавляю 1, и он возвращает правильный день для всех месяцев в 2015 году (все возможные комбинации на конец месяца).

=MOD(DAY(C1)-WEEKDAY(C1,1)+1,7)+1

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .