Страница 1 из 1
Как определить наличие строки в существующем списке.
Добавлено: 01 окт 2007, 12:15
SunKiSSka
Доброго дня!!!
А кто-нибудь может подсказать, как сделать сравнение информации построчно (т.е. чтобы данные в каждой ячейке строки совпадали соответственно)? Никак не могу найти на форуме, помогите.
Допустим на отдельном листе есть одна строка с данными, эти данные надо сравнить со всеми строками на определенном листе, и если совпадение нашлись, то строчку, которая уже содержится на листе, где осуществлялся поиск, - скопировать на тот же лист, где была задана строка для поиска, но через несколько строк ниже.
Если соответствий не найдено, то вывести, допустим строку "Соответствий НЕТ".
Re: Как определить наличие строки в существующем списке.
Добавлено: 02 окт 2007, 00:55
Naeel Maqsudov
В приложении "Книга1.zip", к данным на листе "Данные" применена формула, которая подсчитывает количество совпадений между текущей строкой и эталоном.
Код: Выделить всё
=СУММ(ЕСЛИ(Эталон!A$7 :D $7=Данные!A3 :D 3;1;0))
(Введена как формула-массив (Ctrl+Enter), и раскопирована вниз на все данные)
Нетрудно видеть, что строки, где имеет место быть полное совпадение с эталоном отмечены значением 4 (так как 4) поля.
Теперь воспользуемся автофильтром, чтобы прямо online оставить на листе только данные, совпадающие с эталоном.
Это решение гибче макроса, так как позвоялет свободно редактировать эталон и данные, а затем мгновенно получить требуемую выборку даных.
Re: Как определить наличие строки в существующем списке.
Добавлено: 03 окт 2007, 15:41
SunKiSSka
формула, которая подсчитывает количество совпадений между текущей строкой и эталоном.
[code писал(а):
=СУММ(ЕСЛИ(Эталон!A$7

$7=Данные!A3

3]
очень удобно, но у меня почему-то в столбце "Признак", даже для пустрых строк, получаются одинаковые значения???, т.е., допустим
6
6
6
6
...
Всего у меня столбцов 13...
Re: Как определить наличие строки в существующем списке.
Добавлено: 03 окт 2007, 15:43
SunKiSSka
формула, которая подсчитывает количество совпадений между текущей строкой и эталоном.
Код: Выделить всё
=СУММ(ЕСЛИ(Эталон!A$7 :D $7=Данные!A3 :D 3;1;0))
очень удобно, но у меня почему-то в столбце "Признак", даже для пустрых строк, получаются одинаковые значения???, т.е., допустим
6
6
6
6
...
Всего у меня столбцов 13...
Re: Как определить наличие строки в существующем списке.
Добавлено: 04 ноя 2008, 22:24
Naeel Maqsudov
Такой результат получится если формула-массив введена на всю высоту таблицы.
Обращаю внимание, что формула должна быть введена как формула-массив в одну ячейку, а уже потом обычным образом раскопирована на все остальные ячейки.
Re: Как определить наличие строки в существующем списке.
Добавлено: 06 ноя 2008, 18:54
Aent
А я бы добавил в лист колонку с функцией считающей что нибудь вроде CRC32 по столбцам
с данными. А ещё лучше рассчитывать СRC32 по строке при изменении ячеек.
Re: Как определить наличие строки в существующем списке.
Добавлено: 06 ноя 2008, 23:37
Naeel Maqsudov
Не понял, зачем CRC?
Re: Как определить наличие строки в существующем списке.
Добавлено: 07 ноя 2008, 00:26
Aent
зачем CRC?
Что бы вместо кучи значений сравнивать одно. CRC32 отлично трансформирует значения из ячеек строки в уникальный ID строки