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

668
marangeo

Я создаю 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","")

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

0
Сделайте всем одолжение и не используйте Micro $ oft Works ... Используйте [Apache OpenOffice] (http://www.openoffice.org) !! (Мнение) BenjiWiebe 11 лет назад 0
Почему так сложно ??? Я просто вычел 1 января 31 декабря для дат соответствующего года и проверил результат. Peter L. 11 лет назад 0
Похоже, что у вас есть ответы, которые вам нужны, а некоторые - ваши, пожалуйста, пометьте ответ на этот вопрос, чтобы люди не думали, что вам все еще нужен ответ. Вы можете [опубликовать свой собственный ответ] (http://superuser.com/help/self-answer) и выбрать его, если хотите. User5910 11 лет назад 0

1 ответ на вопрос

0
User5910

Я не могу попробовать это в 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"},)

Предостережение: это не даст хороших результатов, если не будет действительного месяца 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","")

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

Похожие вопросы