Я создаю MS Works - Версия 8.5 - Электронная таблица, в которую вводятся Дата месяца, Месяц и Год. Год рассчитывается как не високосный год или високосный год согласно формуле, и под соответствующим заголовком появляется слово "ДА" или "НЕТ".

Заголовки: дата месяца - D3, месяц - E3, год - F3, не високосный год - H3 и високосный год - I3

Данные вводятся в D4, E4, F4, и под соответствующим заголовком в H4 и I4 появляется слово "YES" или слово "NO".

Месяцы с января по декабрь перечислены в B11-B22.

В столбце А рядом с каждым месяцем я хочу показать сообщение, сообщающее об ошибке в случае ввода неверной даты месяца - например, 32 для января, 31 для апреля и т.д.

Независимо от того, является ли год не високосным или високосным, не имеет значения, и слово "ДА" или слово "НЕТ" не входят в уравнение, поэтому следующие формулы дают желаемый результат.

=IF(AND(D4>31,E4="JANUARY"),"31 DAYS","")

=IF(AND(D4>31,E4="APRIL"),"30 DAYS","")

Февраль, однако, который может иметь либо 28 дней, либо 29 дней, и, поскольку каждая ячейка может содержать только одну формулу, представляет другую ситуацию. Формула должна быть комбинацией:

=IF(AND(D4>28,E4="FEBRUARY",H4="YES"),"28 DAYS","")

а также

=IF(AND(D4>29,E4="FEBRUARY",I4="YES"),"29 DAYS","")

Любая помощь приветствуется. Спасибо

1 ответ1

0

Я не могу попробовать это в Works, но в Excel работает следующее - посмотрите, можете ли вы вкладывать ifs следующим образом:
=IF(E4="FEBRUARY", IF(H4="YES", IF(D4>28,"28 DAYS",""), IF(D4>29,"29 DAYS","")),"")
Я упростил это, только посмотрев на H4, предполагая, что если H4 не YES, то это должен быть високосный год.

Кстати, это домашнее задание?


РЕДАКТИРОВАТЬ: FWIW вот еще один способ сделать это с помощью всего трех формул, и нет необходимости перечислять месяцы или использовать свой собственный расчет для високосных лет. Опять же, я попробовал это в Excel, я не могу попробовать это в Works:

A. Рассчитайте номер месяца по названию месяца в A6 этой формуле. Обратите внимание, что месяцы в первом разделе {} должны быть в алфавитном порядке, а номера месяцев во втором разделе {} должны быть в соответствующем порядке:

=LOOKUP(E4,{"April", "August", "December", "February", "January", "July", "June", "March", "May", "November"," October", "September"},{4,8,12,2,1,7,6,3,5,11,10,9})

Предостережение: Это не даст хороших результатов, если в E4 нет действительного месяца.

Б. Рассчитайте количество дней с начала этого месяца до начала следующего месяца в B6:

=DATE(F4+TRUNC((A6+1)/12),MOD(A6+1,12),1)-DATE(F4,A6,1)

Это составляет прыжки с декабря по январь в двух местах:

  1. Год: Добавьте единицу к году, если месяц +1 (A6 +1) больше 12 с использованием формулы TRUNC. Если рассчитанное значение меньше единицы (например, 12/12 = 1), оно усекает его до нуля, поэтому вы находитесь в том же году.
  2. Месяц: если A6 +1 больше 12, начните с месяца 1. Функция MOD возвращает остаток после деления на 12, поэтому 13 становится 1. Вы также можете использовать функцию IF, но это более компактно.

C. Проверьте количество дней в C6:

=IF(D4>B6,B6&" DAYS","")

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