Гарольд задается вопросом, есть ли ограничение по количеству символов в ячейке, за пределами которого «Найти» не найдет строку. У него много текста в одной ячейке (22 500 символов), где строка MIMO находится ближе к концу, а «Найти и заменить» говорит, что его там нет. Причина, по которой он это знал, заключалась в том, что он тестировал формулу массива с помощью функции ПОИСК, и в ней говорилось, что MIMO был там. Гарольд подумал, что в его формуле есть ошибка, но вместо этого он, похоже, обнаружил это ограничение Excel.

Мне не удалось найти никаких ограничений, отмеченных ни в одном источнике Microsoft, но при тестировании определенно ограничение есть. Я создал строку такой же длины, как у Гарольда, и функция «Найти и заменить» не найдет символы ближе к концу. Это заставило меня задуматься, где же на самом деле произошло ограничение.

Похоже, что ограничение составляет 8192 символа. Если длина строки составляет ровно 8192 символа, а последние четыре символа — «MIMO»,

тогда функция «Найти и заменить» сможет без проблем ее распознать. Добавьте в строку еще один символ (длина — 8 193 символа), и если «MIMO»

все еще в конце, функция «Найти и заменить» его не найдет. Если символы находятся раньше в строке — до границы из 8192 символов — то функция «Найти и заменить» найдет их, как и следовало ожидать.

Суть в том, что если вы работаете с очень длинными текстовыми строками на листе, вы не можете полагаться на поиск и замену для поиска нужного текста. Если вам абсолютно необходимо работать с длинными текстовыми строками, вы можете подумать о разработке собственных подпрограмм VBA для выполнения поиска, поскольку VBA не имеет этого встроенного ограничения.

ExcelTips — ваш источник экономичного обучения Microsoft Excel.

Этот совет (9237) применим к Microsoft Excel 2007, 2010, 2013, 2016, 2019 и Excel в Office 365.