Формула Excel на основе переменных даты

665
Leo Reeves

Я пытаюсь создать калькулятор оплаты, но не могу заставить формулы работать на меня. По сути, я пытаюсь написать одну длинную формулу, которая учитывает все различные переменные даты. У меня есть шесть продуктов на выбор, и я пытаюсь использовать комбинацию операторов IF, AND и OR.

Мои столбцы настроены так:

Список продуктов:

Продукт 1

Продукт 2

Продукт 3

Продукт 4

Продукт 5

Продукт 6

Я хочу, чтобы формула в C2 вернулась:

«Нет» в разделе «Оплата» для следующего:

  • ЕСЛИ Продукт 5 или Продукт 6 находятся в A2, ИЛИ
  • ЕСЛИ Продукт 3 ИЛИ 4 в А2 И дата в В2 меньше 18/12/2014, ИЛИ
  • ЕСЛИ в А2 есть какой-либо товар И дата в В2 меньше 29/03/2012

«Да» для следующего:

  • ЕСЛИ Продукты 3 или 4 находятся в А2 И ЕСЛИ В2 больше или равно 18/12/2014, ИЛИ
  • ЕСЛИ Продукты 1 или 2 находятся в А2 И ЕСЛИ В2 больше или равно 29/03/2012

Я хотел бы, чтобы C2 оставался пустым, пока что-то не введено в A2.

0

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

2
OldUgly

Nothing too creative here - just a brute force set of IF statements. Column C contains this formula filled down ...

=IF(OR(A2=$E$6,A2=$E$7,AND(OR(A2=$E$4,A2=$E$5),B2<DATE(2014,12,18)),AND(A2<>"",B2<DATE(2012,3,29))),"No",IF(OR(AND(OR(A2=$E$4,A2=$E$5),B2>=DATE(2014,12,18)),AND(OR(A2=$E$2,A2=$E$3),B2>=DATE(2012,3,29))),"Yes",""))

And generated these results. Note: I used Column E to hold a list of Valid Products. Note 2: Added test cases as per Scott's suggestion ...

enter image description here

Возможно, ваш ответ будет лучше, если вы добавите `A20`,` A21` и `A22` =" Продукт 7 "(или что-то еще, чего нет в списке), а` A23`, `A24` и` A25` = пусто , И, строго говоря, вам не нужно `$` перед `E`. В противном случае этот ответ является идеальным. PS Я использовал Фортран до 1977 года. Scott 8 лет назад 0
Спасибо @Scott - `A20` и` A23` нетривиальны и должны быть показаны. Обновлена ​​крышка экрана. OldUgly 8 лет назад 0
0
Rajesh S

enter image description here

Я хотел бы предложить импровизировать Формулу, которая меньше, чем предыдущая.

enter image description here

Причины,

Для НЕТ, вместо того, чтобы тестировать продукт 5 и 6 с датой, а как ИЛИ тестировать Продукт 3 и 4 отдельно, лучше тестировать их, используя одно единственное утверждение, так как оно технически схоже, лучше и сокращает длину формулы.

Я протестировал Продукты 3, 4, 5 и 6 со значением Дата 29/03/2012, потому что Дата меньше, чем означает, что Дата естественно меньше 18/12/2014 .

И если A2 не заполнен, нет необходимости проверять еще раз Coz, ваше последнее условие, если A2 blank C2 также остается пустым, так что я проверил его вначале.

Аналогично, я проверил для ДА, Продукт 1, 2, 3 и 4 со значением даты 18/12/2014, поскольку, если значение даты в ячейке больше или равно ей, это означает, что дата даты выше, чем 29/03/ 2012 .

NB. Если вы сравните оба результата, вы обнаружите разницу в строках 9 и 12. Причина проста: значения дат в обеих строках больше, чем значения дат, которые мы тестируем.

Пожалуйста, измените Диапазон данных в своей Формуле по мере необходимости.

Мой диапазон данных I79: K99, формула в K79.

В столбце «Образец» указано «Название продукта и дата соответствия», диапазон данных M79: M88. Столбец Зеленый содержит ответ, полученный предыдущей Формулой.

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