Страницы: 1
RSS
Ошибка в вычислении формул при использовании округления (/1000)
 
Доброго здравица. Столкнулся с следующей проблемой. Для автоматизации и значительного сокращения времени набрал несколько формул, но при округлении значений, получаю ошибку #Н/Д, причем без округления формулы работают.  
 
Ситуация такая:  
Используется формула для возвращения максимального и последующих трех значений по заданным критериям из таблицы с данными.  
В32=НАИБОЛЬШИЙ((Анализ!$B$2:$B$4000=$B$5&$A$9)*(Анализ!$H$2:$H$4000=A21)*Анализ!$C$2:$C$4000;2)/1000  
Далее на основе полученного значения заполняется вся остальная таблица.  
=ИНДЕКС(Анализ!$C:$C;ПОИСКПОЗ($B$5&$A$8&ВПР(B32*1000;Анализ!$C:$D;2;0)&A21;Анализ!$B$1:$B$4000&Анализ!$D$1:$D$4000&Анализ!$H$1:$H$4000;0))/1000  
и  
=ВПР(B32*1000;Анализ!$C:$F;4;0)&" ("&ВПР(B32*1000;Анализ!$C:$F;3;0)&")"  
 
Первая формула рабочая, возвращает как бы правильное значение. Остальные две также рабочие, но возвращают ошибку при определенном значении первой формулы (от безысходности выявил опытно некоторые из них в диапазоне от 8139 до 8157, за исключением 8141, 8144, 8145, 8150, 8151, 8154, 8157)  
Знаю, что проблема в этом: ...(B32*1000;..., но не знаю как исправить. Как вариант - использовать второй лист с делением на 1000 полученных формулами данных.  
Так как окончательный результат таблицы будет использовать все возможные критерии отбора из вкладки "анализ", буду рад любому содействию, если есть возможность упростить формулы, или найти иное решение.  
С екселем на Вы, формулы подобрал методом научного тыка, в макросах не шарю.  
<EM><STRONG>Файл удален</STRONG> - велик размер - [<STRONG>МОДЕРАТОРЫ</STRONG>]</EM>
 
Файл добавлен - пожат в архив - [ТопикКастер]
 
Тут уже ошибка:  
 
=ВПР(B32*1000;Анализ!$C:$D;2;0)  
 
так может нужно?  
=ВПР(B32*1000;Анализ!$C:$D;2;1)  
хотя это не спасает в целом.
 
{quote}{login=Hugo}{date=09.08.2011 01:08}{thema=}{post}Тут уже ошибка:  
 
=ВПР(B32*1000;Анализ!$C:$D;2;0)  
 
так может нужно?  
=ВПР(B32*1000;Анализ!$C:$D;2;1)  
хотя это не спасает в целом.{/post}{/quote}  
 
Так 1 в конце это вроде поиск приблизительного значения, если ничего не путаю. Может там какой-нибудь закорючки не хватает?
 
Если последний аргумент ф-ии ВПР равен 1, столбец поиска должен быть отсортирован по возрастанию.  
Если последний аргумент ф-ии ВПР равен -1, столбец поиска должен быть отсортирован по убыванию.  
 
Вот так в яч. В29 ошибки нет, но правильный ли результат - не знаю:  
 
=ВПР(B32;Анализ!$C:$F;4;-1)&" ("&ВПР(B32;Анализ!$C:$F;3;0)&")"
 
Ну да, приблизительного.  
Точного-то ведь нет, поэтому тоже ошибку даёт.
 
Я ошибся, -1 это у ПОИСКПОЗ, а не у ВПР.
 
Я предполагал, что если округленное значение вернуть обратно тем же способом, то формулы будут работать, что они и делают - значение выдают правильные, за исключением указанного случая.  
Приблизительное значение с 1 в конце ВПР также ошибается, выдает неправильное значение.  
Если формулы работают правильно без "/1000" и "*1000", может мне поможет другая какая-нибудь функция для округления? Если да - подскажите какую пожалуйста.
 
.
 
{quote}{login=kim}{date=10.08.2011 01:20}{thema=}{post}.{/post}{/quote}  
 
Вопрос решен. Благодарю)
Страницы: 1
Читают тему
Наверх