Как объединить два оператора IF в Excel?

Первый IF проверяет дату начала (в формате MMDDYY) из одной ячейки (Staff!$G5) и если эта дата больше или равна дате (в формате MMDDYY) в ячейке моего активного листа (S1), я хочу, чтобы она выполнила формулу (Staff!$D5*SetupTab!$B$3))*S$2) .

Таким образом, эта формула работает для меня, чтобы выполнить эту функцию:=IF(S$1>=Staff!$G5,Staff!$D5*SetupTab!$B$3))*S$2

Предостережение заключается в том, что если дата окончания (сотовый Staff!$H5) после даты в той же ячейке S1, вместо выполнения формулы, значение ячейки будет просто нулевым.

Таким образом, это должно быть что-то в этом духе, но не похоже, что он правильно проверяет оба значения IF:=IF(S$1>=Staff!$G5, IF(S$1>=Staff!$H5 Staff!$D5*SetupTab!$B$3))*S$2

Небольшая предыстория / разъяснение того, чего я пытаюсь достичь ... это отчет о финансовых типах, в котором будут подсчитываться расходы в месяц на сотрудника. Основная формула рассчитывает расходы для меня, но если сотрудник уходит из компании, мне больше не нужно прогнозировать эти расходы после даты их окончания, поэтому я хочу, чтобы они "обнулились". Точно так же, если у меня будет новый сотрудник, начинающий работу через два месяца, но я хочу, чтобы он сейчас занес их в книги, чтобы начать прогнозировать их, я не хочу, чтобы их расходы начинали рассчитывать до фактической даты их начала.

Обновление: основная идея формулы состоит в том, чтобы определить, нужно ли мне прогнозировать расходы на сотрудника на данный месяц. Есть две совершенно разные переменные, так что дело не в переменной1 и переменной2 ... два оператора IF не зависят друг от друга.

1) Если они являются активными сотрудниками в течение месяца ... с датой их начала в ячейке "персонал!G5 "предшествует текущему месяцу или равен ему (ячейка S1), и дата окончания не указана (персонал ячейки!Н5), тогда я бы хотел, чтобы прогнозировались доллары.

2) Если они еще не начали (например, их дата начала в ячейке "персонал!H5 "в течение месяца или двух в будущем), тогда прогноз будет ноль долларов до месяца их начала.

3) Если в ячейке есть дата окончания работы персонала!H5 ", тогда мой прогноз должен быть нулевым для всех месяцев после даты окончания

Я действительно надеюсь, что это имеет какое-то небольшое значение для кого-то там :) Я приложил подборку снимков экрана, чтобы, надеюсь, помочь объяснить.

IF заявление аннотированные снимки экрана

3 ответа3

0

1) Если они являются активными сотрудниками в течение месяца ... с датой их начала в ячейке "персонал!G5 "предшествует текущему месяцу или равен ему (ячейка S1), и дата окончания не указана (персонал ячейки!Н5), тогда я бы хотел, чтобы прогнозировались доллары.

AND(s$1 <= Staff!G5, Staff!H5 = 0)

2) Если они еще не начали (например, их дата начала в ячейке "персонал!H5 "в течение месяца или двух в будущем), тогда прогноз будет ноль долларов до месяца их начала.

(s$1 > Staff!G5)

3) Если в ячейке есть дата окончания работы персонала!H5 ", тогда мой прогноз должен быть нулевым для всех месяцев после даты окончания

(s$1 > Staff!H5)

Таким образом, ваша логика должна быть «если (case2 ИЛИ case3) ТОГДА 0 ИНОГДА, если case1 ТОГДА вычислить Иначе 0

=IF(
OR((s$1 > Staff!G5),(s$1 > Staff!H5))
,0,
(
IF(
AND(s$1 <= Staff!G5, Staff!H5 = 0)
,
(Staff!$D5 * Setup!$B$3 * S$2)
,0
))
)

(не проверено, и я немного разбил его на удобочитаемость)

0

используйте AND() для проверки обоих условий:

=IF(AND(S$1>=OtherTab!$G6, S$1>=OtherTab!$H6), OtherTab!$D6*SetupTab!$B$3, 0)

я, е

=IF(AND(condition1, condition2), value_if_both_true, else_value)
0

Ваша формула говорит, что дата платежа должна быть больше даты окончания, вы должны поменять знак, как показано ниже:
=IF(And(S$1>=Staff!$G5,or(S$1 <= Staff!H5,isblank(Staff!H5))),Staff!$D5 * Setup!$B$3 * S$2,0)
Теперь эта формула учитывает пустую конечную дату (что является причиной всех 0).

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