Используя Excel 2003, формулу:
=VLOOKUP(D1 ,A1:B135, 2)
сбои, если длина D1 превышает 255 символов (т.е. список имеет некоторый текст дольше затем 255 символов, D1, имеют то же текстовое значение, и VLOOKUP возвращает #VALUE!).
СООТВЕТСТВИЕ, кажется, страдает от того же символьного предела.
Я не могу найти официальное подтверждение этих пределов, например, здесь:
http://office.microsoft.com/en-us/excel-help/vlookup-HP005209335.aspx
или здесь:
http://office.microsoft.com/en-us/excel-help/excel-specifications-and-limits-HP005199291.aspx?CTT=3
Я знаю, что Excel имеет 255 пределов на длину текста, используемого в формулах, но это предлагает родственный, должен работать (это не делает в этом случае, и я не использую строки в формуле, но ссылаюсь на другую ячейку).
Кто-то может подтвердить, что они ограничивают, существуют (всегда возможно, что я делаю что-то еще неправильно)?
Что еще более важно, кто-либо знает о пути вокруг них?
Спасибо
Можно всегда кодировать собственный VLOOKUP..., но, как альтернатива, можно вычислить хеш из справочного значения и использовать его в качестве нового справочного значения.
Коллизии могут произойти, но использование несколько достойного хеш-алгоритма, как MD5, это не должна быть проблема.
Для создания хеш-функции можно использовать идеи от https://stackoverflow.com/questions/125785/password-hash-function-for-excel-vba.