Требуется формула таблицы MS Works

0

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

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

Данные вводятся в D4, E4, F4, и слово «ДА» или слово «НЕТ» появляется под соответствующим заголовком в Н4 и I4.

Месяцы с января по декабрь перечислены в 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","")

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

marangeo
источник
Сделайте всем одолжение и не используйте Micro $ oft Works ... Используйте Apache OpenOffice !! (мнение)
BenjiWiebe
Почему так сложно ??? Я просто вычитал 1 января 31 декабря для дат соответствующего года и проверял результат.
Питер Л.
Похоже, что у вас есть ответы, которые вам нужны, а некоторые - ваши, пожалуйста, пометьте ответ на этот вопрос, чтобы люди не думали, что вам все еще нужен ответ. Вы можете оставить свой ответ и выбрать его, если хотите.
Пользователь5910

Ответы:

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","")

User5910
источник
Извините, пользователь5910. Спасибо за ваш ответ, но он не работает.
Marangeo
Хм, а что будет, когда попробуешь? Похоже, что вложенные ifs все в порядке в Works согласно этой статье .
User5910
Мои извинения User5910, ваша формула действительно работает. Я должен был ввести что-то неправильно, но, тем не менее, правильную формулу. Однако я немного изменил ваше предложение,
включив
Сожалею! последний комментарий был прерван. Использовал пару дополнительных формул с использованием функции «И»: = AND (D4> 28, E4 = «ФЕВРАЛЬ», H4 = «ДА») в ячейке L7 = AND (D4> 29, E4 = «ФЕВРАЛЬ», I4 = «ДА») в ячейке M7, затем вложенная функция «If» = IF (L7 = 1, «28 ДНЕЙ», IF (M7 = 1, «29 ДНЕЙ», «»)) в ячейке A12
marangeo
FWIW эти формулы будут работать в Excel тоже , если вы измените =IF(L7=1,...к =IF(L7=TRUE,...или просто=IF(L7,...
User5910