Можно ли предварительно заполнить дату в столбце после ввода даты в соседнем столбце?

Вот что мне было поручено:

Если дата наступает или раньше (<=) 6-го числа месяца (например, 01.01.2009), то предварительно заполненная дата должна быть 21-го числа следующего месяца (+1 месяц) (например, 21/02/2019)

Если дата после (>) 6 числа месяца (например, 01/01/2019), то предварительно заполненная дата должна быть 21 +2 месяца (например, 21/03/2019)

Предварительно заполненный всегда будет начинаться с 21-го числа месяца.

Любая помощь в этом с благодарностью

Большое спасибо

RT

3 ответа3

4

Это довольно просто, используя функции даты.

Обратите внимание, что я нахожусь в США, поэтому мои даты - ММ / ДД / ГГГГ. Я добавил декабрьскую дату, чтобы вы могли видеть, как Excel разумно обрабатывает год, если месяц превышает 12. Формула в Б1:

=DATE(YEAR(A1),MONTH(A1)+IF(DAY(A1)>6,2,1),21)

ДАТА () позволяет указать дату, введя год, месяц и день. Целевым днем всегда является 21-й день месяца. Год принимается как год исходной даты. Все действие происходит с указанием месяца. Мы начинаем с месяца исходной даты, затем добавляем 1 или 2 месяца в зависимости от того, больше ли исходный день, чем 6. Логика очень удобочитаема и соответствует тому, что вы описали в вопросе.

1

Если ваша дата была в ячейке A1, тогда эта формула в любой другой ячейке строки 1 будет работать:

=IF(DAY(A1)>6,DATE(YEAR(A1),MONTH(A1)+2,21),DATE(YEAR(A1),MONTH(A1)+1,21))

Скопируйте при необходимости.

1

Я предпочитаю, чтобы функция IF была более понятной, чтобы читать и понимать, что происходит, но в качестве альтернативы вы могли бы использовать следующее:

=DATE(YEAR(A1),MONTH(A1)+1+(DAY(A1)>6),21)

(DAY(A1)>6) вернет ИСТИНА или ЛОЖЬ. Когда это отправляется с помощью математической операции, в этом случае, кроме того, оно будет преобразовано в 1 для ИСТИНЫ и 0 в ЛОЖЬ.

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