Страницы: 1
RSS
ВПР не работает с большим массивом данных
 
Здравствуйте.
Не нашел ответа на свой вопрос, поэтому пишу.
У меня на Excel 2010 ВПР не тянет(результат #Н/Д) данные из таблицы в пять столбцов и 120 000 строк в таблицу на 10 столбцов и 9800 строк. При этом на мелких массивах в 300-400 строк те же данные ищет на ура. Подскажите верный путь пожалуйста.
Пример прилагаю.
 
Примените функцию ИНДЕКС.
 
Не думаю что дело в объеме данных. Если #Н/Д, значит формула их действительно не находит.
И зачем Вы первый столбец то-же ВПР-ом тянете? Может его просто скопировать из источника в нужное место? Или хот-бы (для G4): =B4?
Согласие есть продукт при полном непротивлении сторон
 
У меня на Excel 2010 ВПР тянет (показывает результат поиска). Проверяйте свои данные.
 
Цитата
jakim написал: Примените функцию ИНДЕКС.
Спасибо, но эта формула тоже не работает.#Н/Д и все тут(((
Цитата
Sanja написал: И зачем Вы первый столбец то-же ВПР-ом тянете?
В примере консолидированные исходники в обоих столбцах, которые ВПР не находит(#Н/Д) ,когда они в точно таком же виде, но часто не на соседних строках размещены в таблицах с большим количеством строк 9000, за 120 000 и т.д. А, как только я их скопировал в два простеньких столбца функция заработала. Руками копировать по 400-600 ячеек, размещенных вразброс в одном столбце, в другую таблицу будет "немного" долго((
 
В Вашем случае без "нерабочего" файла говорить особо больше не о чем. На урезанном все работает, ошибка не воспроизводится. Может, как вариант, одинаково отсортировать столбец источник и столбец с искомыми значениями
Согласие есть продукт при полном непротивлении сторон
 
Цитата
vikttur написал: ...ВПР тянет...
Так и у меня тянет, когда такой простой пример беру. А когда эти столбцы в двух разных файлах, на большое кол-во строк, ВПР работать отказывается. Повторюсь, с форматами не баловался, данные не менял. В примере, просто показал небольшую часть того что в большом массиве(основное отличие примера и оригинала) не ищется.
 
Я проверял то, что Вы показали:
Цитата
данные из B23 находятся в строке 8631, а данные из D23 в 1012015
А вообще, на таких массивах лучше работать с макросами

Цитата
#Н/Д и все тут
Не тут, а там :)
 
Цитата
vikttur написал: Не тут, а там
Да,. впервые такое.
 
Пришлите мне на почту, гляну.
 
Отправил.
Создалось впечатление что ВПР просто не достает до "нижних" строк. Может глупость, но как это проверить, я не в курсе
 
Ctrl+F
Попробуйте найти в Табл1 в столбце В значение 12-47, которое Вы пытаетесь найти формулой.
Те данные, которые есть в двух таблицах, Ваша формула с ВПР в Вашем файле находит. #Н/Д только в отфильтрованных строках. В чем проблема?
 
Цитата
vikttur написал: в Табл1 в столбце В значение 12-47
на этом примере - да, не ищет, но почему например на 060 GE ES* не работает?
 
Трудно найти то, чего нет, правильно?
Если есть - где, в какой строке?
 
Цитата
почему например на 060 GE ES* не работает?
Где оно в исходном файле?
 
Строка 78092
 
Сравнение знаков строки "060 GE ES* ", взятой из разных фпйлов:
={ИСТИНА:ИСТИНА:ИСТИНА:ЛОЖЬ:ИСТИНА:ИСТИНА:ЛОЖЬ:ИСТИНА:ИСТИНА:ИСТИНА}

=КОДСИМВ(ПСТР(B78092;4;1))=160
Пробел в файле-рецепторе - СИМВОЛ(32)
Хоть и пробелы, но символы разные. А Вы ВПР обвиняете :)
 
8-0 8-0 8-0  
Слов нет...
Вы  8)
Я так не умею :cry:

P.S.А почему те же артикулы в урезанном файле ВПР находил? Чессслово я их не правил!
 
Цитата
почему те же артикулы в урезанном файле ВПР находил?
Сравните данные в урезанном файле.

Если нужно исправить: копировать из текста символ-160, Выделить "больной" диапазон, Ctrl+H, Найти - этот символ, ЗАМЕНИТЬ - пробел
 
А ларчик просто открывался.
Если идти до конца в поиске причины.
Но это если подозреваешь что пробел (ПРОБЕЛ!!!) может быть больше чем одного вида.
Я же больше на ВПР грешил, и на * косился, которых там в концах артикулов много.
:excl:  СПАСИБО!!!  :excl:
Изменено: CheT - 17.03.2016 00:30:47
 
Пробел - больше двух видов :)
 
Цитата
vikttur написал: Пробел - больше двух видов
Вот сейчас вообще добили  ;)
 
СИМВОЛ(32), СИМВОЛ(160), СИМВОЛ(10)
 
Цитата
vikttur написал:  СИМВОЛ(10)
Ради интереса - проверил простенькой формулой: ="A"&СИМВОЛ(СТРОКА())&"B"
СИМВОЛ(10) - перенос строки; а вот СИМВОЛ(2) - пробел.
 
Да, перенос строки.
Нужно было уточнить. Иногда визуально воспринимается как разделитель (пробел), поэтому и поставил в общий ряд с пробелом

А есть еще :)
-  длинный_пробел, короткий_пробел, 1/4_пробела, неразрываемая_связка (все КОДСИМВ 63);
- мягкий_перенос (КОДСИМВ 31).
 
Цитата
CheT написал: Вот сейчас вообще добили
Работая с ВПР над большим объемом данных, экспортированных из ПО, всегда следует предварительно "изучить" структуру сравниваемых данных во избежание "кривого" результата.  :)
Страницы: 1
Читают тему
Loading...