Всем добрый день. возникла такая проблема. В общем то обычная формула ВПР, ищет значение в большой таблице (номер реестра) и сверяет его в маленькой таблице, состоящей из тако-го же номера реестра и кадастрового номера. В случае совпадения в большой и малой таблицах реестрового номера подставлять из второй колонки малой таблицы кадастровый номер. Всё бы ничего, ВПР срабатывает (появляется найденный кадастровый номер) только после того, как курсором зайдешь в ячейку искомого значения большой таблицы. Пока туда курсором не залезешь показывает #Н/Д. Учитывая, что в большой таблице 20 тысяч строк, а в малой 500, ручками все 20 тысяч не протыкаешь. В чём причина? Формат ячеек одинаковый, лишние пробелы удалены.
формат может быть и одинаковый, но значения предположу внутри разные (т.е. к примеру была ячейка с текстом. Вы выставили ей формат чисел. Внутри будет ТЕКСТ пока вы не ткнетесь в нее руцями. И ваше описание что и пробелы удаляли... и формула корректно работает после редактирования ячеек... все говорит именно о таком положении вещей значений).
Попробуйте прогнать макросом выделив нужные диапазоны, чтоб не "протыкивать" вручную:
Код
Sub мелочь_format_cell()
Selection.FormulaLocal = Selection.FormulaLocal
End Sub
Еще одна причина - файл выгружается сторонней программой криво. Такие примеры были. И ВПР видит по факту не совсем то значение, которое отображается в ячейке.
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
Вот, прицепляю файл. Этот файл реестра казны, велся в ручном режиме с начала 90-х., поэтому основные реестровые номера в разных значениях - как буквы-цифры, так и просто цифры, так и цифры формата 00000000000014598 (такими и должны остаться, т.к. если туда стать курсором в форматах Общий или Число, нули пропадут). вот первый номер 30467. В строке 2958 в ВПР на против 30467 было значение #Н/Д, пока не встал туда курсором. Как встал - появился кадастровый номер.
Файл прицепил, пришлось его сильно потереть, чтобы в 100 Кб уместился.
Дмитрий(The_Prist) Щербаков написал: Еще одна причина - файл выгружается сторонней программой криво. Такие примеры были. И ВПР видит по факту не совсем то значение, которое отображается в ячейке.
Да, файл выгружен был из 1С: Предприятие, но, по возможности причесан с форматами, убраны лишние пробелы, невидимые знаки и т.д.
Нужно оба значения приводить к одному формату. Т.к. это не числа, а реестровые номера, и ведущие нули нужно сохранить (где они ещё есть), то нужно приводить всё в текст. В 365 офисе работает просто так:
Код
=ВПР(""&A3;""&$C$3:$D$459;2;ЛОЖЬ)
Ну а в более старых офисах вероятно нужно вводить её как формулу массива (Ctrl+Shift+Enter)