2016-02-05 3 views
0

У меня есть формула в EXCEL 2013, который подсчитывает значения, где десятичная точка = .16ЭКСЕЛ SUMPRODUCT формула не считая правильно

=SUMPRODUCT(--(MOD(D2:D9,1)=0.16)) 

так, например, 2.16, 15.16 будет подсчетом 2. Однако, если значение составляет 32,16 или больше, то не будет считаться. Это очень странная проблема и не может понять этого.

ответ

1

Вы попали в ошибку с плавающей запятой¹. Остаток читается как 0.159999999999997, а не 0.16. Поверните его, по крайней мере, на четыре десятичных знака, чтобы получить точное чтение.

=SUMPRODUCT(--(ROUND(MOD(D2:D9,1), 4)=0.16)) 

¹ См 15 digit precision floating point errors и Floating-point arithmetic may give inaccurate results in Excel.

+0

Фантастический. большое большое спасибо –

Смежные вопросы