1

Я пытаюсь написать логику, которая будет рассчитывать начисление отпуска, которое начинается после одного года службы. В 1 год сотрудники имеют право на 5 дней, в 2 года 10 дней, пока сотрудник не достигнет 7 лет, когда сотрудник имеет право на 15 дней плюс один дополнительный день в каждом годовом году, до тех пор, пока сотрудник не ограничится 12 годами 20 дней. Моя формула продолжает указывать слишком много аргументов.

1 ответ1

1

Вы можете использовать VLOOKUP .

В приведенной ниже формуле константа массива является эквивалентом таблицы с годами службы в столбце 1 и днями отпуска в столбце 2. Я также предположил, что у лет 2-6 также был 10-дневный отпуск, но если нет, вы можете увидеть, где изменить достаточно легко:

=VLOOKUP(YrsOfSvc,{1,5;2,10;3,10;4,10;5,10;6,10;7,15;8,16;9,17;10,18;11,19;12,20},2)

и YrsOfSvc - это любая ячейка, в которой находится эта информация, или число.

Если на самом деле ваши накопленные дни не увеличиваются в течение 3-6 лет, вы можете немного сократить массив:

=VLOOKUP(YrsOfSvc,{1,5;2,10;7,15;8,16;9,17;10,18;11,19;12,20},2)

Если вы хотите сделать это путем расчета, вы можете использовать формулу ниже. Но если требуются изменения, это будет немного сложнее поддерживать: (A2 = YrsOfSvc)

=MIN(20,IF(A2>=7,15+A2-7,IF(A2>=2,10,IF(A2=1,5,0))))

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