Есть таблица (StringGrid).

Задача: при поиске "Текст N" выводить последнее непустое "Значение N", скажем, в Memo. Например поиск "Текст 5" должен вывести результаты "Значение 1" и "Значение 2". Или поиск "Текст 9" должен выводить результат "Значение 3".
Если совпадений по каким либо значениям на найдено вывести эти значения в другое поле Memo.
Сделал через дописывание пустых ячеек последней непустой ячейкой и при совпадении копировал соответсвующее значение слева, но таблица большая, долго обрабатывается.

Просьба помочь разобраться.Заранее благодарю.