Оператор IF, который рассчитывает только до 2 десятичных знаков - PullRequest
0 голосов
/ 05 марта 2019

Мое утверждение IF:

=IF(AL23*0.2=AM23,"a","r")

Рассчитывает НДС с точностью до 3 десятичных знаков, поэтому при проверке с помощью AM23 возвращается значение false, поскольку у меня НДС только с 2 десятичными знаками.

Как сделать так, чтобы оператор IF вычислял только AL23 * 0,2 - 2 дпс?

Ответы [ 3 ]

2 голосов
/ 05 марта 2019

Вы можете округлить это так:

=IF(ROUND(AL23*0.2,2)=AM23,"a","r")
1 голос
/ 05 марта 2019

Функция округления должна работать

round(AL23*0.2,2)

, поэтому полный оператор должен быть:

=IF(round(AL23*0.2,2)=AM23,"a","r")
1 голос
/ 05 марта 2019

Используйте ROUND, который округляет первый аргумент до количества десятичных разрядов, указанного вторым аргументом

=IF(ROUND(AL23 * 0.2, 2) = AM23, "a", "r")

Рассмотрим ROUNDDOWN или ROUNDUP для другого поведения округления: ROUND будеткруглые случаи на полпути и выше вверх.

(Также не стоит жестко кодировать ставку НДС в формуле на случай, если она изменится в будущем.)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...