Есть макрос для фильтрация данных, а он находит почему-то только 40 совпадений. Где у меня могла затаиться ошибка? Заранее благодарю за оказанную помощь.
P.s. на первом фото условия для поиска, на втором результат фильтрации.
[вложение удалено администратором]
Напишите так:
Лист2 - номер строки, по которой должны быть данные, но их нет
Лист1 - номер строки, которая должна отображаться, а она скрыта
Достаточно написать про одну строку, может быть по одной строке будет найдена ошибка.
Лист2 - значение 153.2 (строка 42)
Лист1 - должна быть строка 3832, но она скрыта
На листе 2, в ячейке "A42" число 153,200000000001. На конце есть единица. А на листе 1 число 153,2.
Чтобы увидеть это число (из-за формулы его не видно), скопируйте ячейку "A42" - вкладка "Главная" - Буфер обмена - кнопка-стрелка "Вставить" - Специальная вставка... - поставьте кружок "Значения". В строке формул вы увидите это число.
Поэтому логично, что фильтр не находит нужные данные.
Эта проблема связана с тем, что в экселе используется плохая система для подсчёта, основанная на стандарте IEEE 754. В интернете попробуйте поискать про эксель и этот стандарт - периодически у людей появляются проблемы с расчётами из-за этого стандарта.
Решение проблемы
Округляйте числа. В экселе два способа округления:
1) используйте функции для округления:
=ОКРУГЛ(A41+0,08;2)
2) Файл - Параметры - Дополнительно - раздел "При пересчете этой книги" - поставьте галочку "Задать указанную точность". И ещё на листе 2, в столбце A задайте формат ячеек "Числовой" с двумя знаками после запятой.
Этот параметр применяется ко всей книге и фактически и безвозвратно обрезает числа.
Спасибо большое за ответ, вы меня очень выручили!