![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Новичок
Джуниор
Регистрация: 16.12.2009
Сообщений: 2
|
![]()
Помогите пожалуйста найти решение проблемы.
Имеется таблица. Необходимо сравнить ее строки на предмет совпадения строк. В строках содержится и текст и числа. Строки одинаковы, если они полностью идентичны. В случае совпадения определенной строки, в последнем столбце необходимо указать, с какой строкой совпадает данная строка. Прикрепил пример чтобы было понятнее. Нужно сравнивать каждую строку со всеми предыдущими строками |
![]() |
![]() |
![]() |
#2 |
Пользователь
Регистрация: 16.12.2009
Сообщений: 40
|
![]()
вообще дублирующиеся строки легко определить с помощью функции СЧЕТЕСЛИ(), но а так - если нужно указать с какой строкой совпадает - то это уже нужно что-то типа макроса, и еще вопрос, строка может повторяться только один раз или и два и три и т.д.?
|
![]() |
![]() |
![]() |
#3 |
Новичок
Джуниор
Регистрация: 16.12.2009
Сообщений: 2
|
![]()
спасибо за ответ!
теоретически конечно строка может повторяться несколько раз, но можно попробовать и с одним разом, если это возможно без макроса. Что ж, пусть будет без указания с какой строкой совпадает, пусть просто там какая-нибудь пометка будет, напротив повторяющейся строчки. Я думал о СЧЁТЕСЛИ(), но ведь надо проводить сравнение каждой ячейки строки с ячейками других строк соответствующих столбцов, а эта функция может только одну ячейку вроде как. Или тут придеться использовать несколько вложенных условий Если(счетесли и т.д.? И еще, каков будет механизм сравнения при использовании СЧЕТЕСЛИ? Первую строку не сравниваем. Вторая сравнивается с первой. Третья сравнисается с первой и со второй и т.д.? P.S. Не представляю как эти макросы интегрируются в лист excel совершенно. Если можно, то желательно обойтись без них. |
![]() |
![]() |
![]() |
#4 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
![]()
не морочьте себе голову!
счётесли считает совпадение элемента с ДИАПАЗОНОМ! например, строки в столбце A, чтобы посчитать, сколько встречается строка из ячейки A1 - рядом, в любом столбце пишем формулу =СЧЁТЕСЛИ($A:$A;A1) протягиваем и, вуаля.. а для выделения повторов очень удобно пользоваться условным форматированием. выбираем там "Формула", задаём формулу вида: Код:
ОК. потом нажимаем кнопку с кисточкой ("формат по образцу") и выделяем весь столбец со строками... |
![]() |
![]() |
![]() |
#5 |
Старожил
Регистрация: 05.12.2007
Сообщений: 4,180
|
![]()
Могу предложить решение с помощью пользовательской функции.
Посмотрите вложение. Обратите внимание на формулы в ячейках в диапазоне "G7:G21". Функция получает 1 параметр - диапазон ячеек одной строки для сравнения, а возвращает номера совпадающих строк, расположенных выше, в текстовом виде через запятую.
Чем шире угол зрения, тем он тупее.
Последний раз редактировалось SAS888; 17.12.2009 в 10:33. |
![]() |
![]() |
![]() |
#6 |
Новичок
Джуниор
Регистрация: 11.12.2009
Сообщений: 2
|
![]()
Здравствуйте. Возникла такая задача: есть две книги, price1 и price2. Если строка A1[price1]=A1[price2] то смотрим строку B1[price2] и если она начинается с ***, то строку B1[price1] выделяем цветом, если нет то переходим к следующей. Поможите?
И еще сразу вопрос, подскажите, как сравнить 2 столбца на одном листе и очистить ячейки второго столбца если его значения равны значению первого столбца (построчно). За ранее благодарен. |
![]() |
![]() |
![]() |
#7 |
Старожил
Регистрация: 05.12.2007
Сообщений: 4,180
|
![]()
1. Посмотрите пример во вложении. Откройте оба файла и запустите макрос "Main".
2. Пусть требуется в столбце "B" очистить ячейки, содержащие значения, которые имеются в столбце "A". Можно выполнить макрос: Код:
Чем шире угол зрения, тем он тупее.
|
![]() |
![]() |
![]() |
#8 |
Новичок
Джуниор
Регистрация: 11.12.2009
Сообщений: 2
|
![]()
SAS888 Огромное спасибо, все работает.
А не подскажите еще, какую литературу почитать или сайты посмотреть, что бы можно было самому такое писать и Ваш код понимать, как я понимаю задачи то простые можно и самому разобраться при желании |
![]() |
![]() |
![]() |
#9 |
Старожил
Регистрация: 05.12.2007
Сообщений: 4,180
|
![]()
Для решения простых задач, вполне достаточно имеющейся справки по VBA Excel. Для более детального изучения, несомненно, лучшее - это книга Дж. Уокенбаха "Профессиональное программирование на VBA Excel 200Х".
Чем шире угол зрения, тем он тупее.
|
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
сравнение строк -? | Evgenii | Общие вопросы Delphi | 10 | 15.07.2009 15:28 |
С++. Сравнение строк | maxlav | Помощь студентам | 8 | 25.06.2009 04:33 |
Сравнение строк | Elm0 | Паскаль, Turbo Pascal, PascalABC.NET | 2 | 02.06.2008 09:31 |
нужна помощь, сравнение строк в Си 3.1 | feranic | Помощь студентам | 5 | 24.04.2008 17:57 |
Сравнение строк | HOMER | Общие вопросы Delphi | 7 | 04.01.2008 05:53 |