Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Сравнение строк в определённом диапазоне в 2ух таблицах. - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Сравнение строк в определённом диапазоне в 2ух таблицах. (Формулы)
Сравнение строк в определённом диапазоне в 2ух таблицах.
Dk100 Дата: Понедельник, 16.12.2013, 22:59 | Сообщение № 1
Группа: Пользователи
Ранг: Новичок
Сообщений: 24
Репутация: 0 ±
Замечаний: 40% ±

Excel 2010
Сравнение строк в определённом диапазоне в 2ух таблицах размещённых на двух листах.
Решить формулoй
Сам файл не прилогается так как смысла нет, он пустой.

Нужно сделать Лист 1 и Лист 2.

и что бы строка в "Листе1" в диапазоне от А1 до Р1 искалась в "Листе 2" в любой строке которые там есть в том же диапазоне (от А1 до Р1) и если находилась, то "ок".

[admin]
файл не прилогается так как смысла нет, он пустой
Решил. Но прилагать решение смысла нет, так как на пустом листе ничего не находит, следовательно "ок" Вы все-равно не увидите[/admin]


Сообщение отредактировал Dk100 - Понедельник, 16.12.2013, 23:04
 
Ответить
СообщениеСравнение строк в определённом диапазоне в 2ух таблицах размещённых на двух листах.
Решить формулoй
Сам файл не прилогается так как смысла нет, он пустой.

Нужно сделать Лист 1 и Лист 2.

и что бы строка в "Листе1" в диапазоне от А1 до Р1 искалась в "Листе 2" в любой строке которые там есть в том же диапазоне (от А1 до Р1) и если находилась, то "ок".

[admin]
файл не прилогается так как смысла нет, он пустой
Решил. Но прилагать решение смысла нет, так как на пустом листе ничего не находит, следовательно "ок" Вы все-равно не увидите[/admin]

Автор - Dk100
Дата добавления - 16.12.2013 в 22:59
RAN Дата: Понедельник, 16.12.2013, 23:26 | Сообщение № 2
Группа: Друзья
Ранг: Экселист
Сообщений: 5660
Репутация: 1163 ±
Замечаний: 0% ±

2010
Код
='Лист1'!$A$1:$A$10='Лист2'!$A$1:$A$10

Сравнил. Равны. (Точно равны! Файл-то пустой) :)


Быть или не быть, вот в чем загвоздка!
 
Ответить
Сообщение
Код
='Лист1'!$A$1:$A$10='Лист2'!$A$1:$A$10

Сравнил. Равны. (Точно равны! Файл-то пустой) :)

Автор - RAN
Дата добавления - 16.12.2013 в 23:26
vikttur Дата: Понедельник, 16.12.2013, 23:40 | Сообщение № 3
Группа: Друзья
Ранг: Участник клуба
Сообщений: 2941
Репутация: 526 ±
Замечаний: 0% ±

Цитата
Нужно сделать Лист 1 и Лист 2

Так сделайте и покажите!
Третья тема - и не поймете, что нужно показать пример: есть так, хочу вон эдак.
 
Ответить
Сообщение
Цитата
Нужно сделать Лист 1 и Лист 2

Так сделайте и покажите!
Третья тема - и не поймете, что нужно показать пример: есть так, хочу вон эдак.

Автор - vikttur
Дата добавления - 16.12.2013 в 23:40
Dk100 Дата: Вторник, 17.12.2013, 00:08 | Сообщение № 4
Группа: Пользователи
Ранг: Новичок
Сообщений: 24
Репутация: 0 ±
Замечаний: 40% ±

Excel 2010
Хорошо вот пример

Если все ячейки одной строки (На листе1) в определённом диапазоне (В данном случае от А до H) совпадают с любой строкой на листе 2, которая так же имеет определённый диапазон ячеек , то выводилось "ок" в ячейке АА1,АА2 итд .

Например на Листе 1 строка 2 и на листе 2 строка 13. Они в даннoм случае совпадают, все ячейки в этом диапазоне равны, следовательно в строкe 2 на Листе 1, в ячейке АА2 должно появится "ок"
К сообщению приложен файл: Primer.xlsx (8.7 Kb)


Сообщение отредактировал Dk100 - Вторник, 17.12.2013, 00:13
 
Ответить
СообщениеХорошо вот пример

Если все ячейки одной строки (На листе1) в определённом диапазоне (В данном случае от А до H) совпадают с любой строкой на листе 2, которая так же имеет определённый диапазон ячеек , то выводилось "ок" в ячейке АА1,АА2 итд .

Например на Листе 1 строка 2 и на листе 2 строка 13. Они в даннoм случае совпадают, все ячейки в этом диапазоне равны, следовательно в строкe 2 на Листе 1, в ячейке АА2 должно появится "ок"

Автор - Dk100
Дата добавления - 17.12.2013 в 00:08
vikttur Дата: Вторник, 17.12.2013, 01:46 | Сообщение № 5
Группа: Друзья
Ранг: Участник клуба
Сообщений: 2941
Репутация: 526 ±
Замечаний: 0% ±

Проба пера.
Давим кнопку, Дальше она сама все сделает. Ну, может, и не сама (Alt-F11 - редактор VBA)
А может, и не сделает (если работу макросов запретить).
К сообщению приложен файл: Primer2.xlsm (16.8 Kb)


Сообщение отредактировал vikttur - Вторник, 17.12.2013, 01:48
 
Ответить
СообщениеПроба пера.
Давим кнопку, Дальше она сама все сделает. Ну, может, и не сама (Alt-F11 - редактор VBA)
А может, и не сделает (если работу макросов запретить).

Автор - vikttur
Дата добавления - 17.12.2013 в 01:46
vikttur Дата: Среда, 18.12.2013, 01:12 | Сообщение № 6
Группа: Друзья
Ранг: Участник клуба
Сообщений: 2941
Репутация: 526 ±
Замечаний: 0% ±

Предложил циклами. Надеялся, что в ответ на мое решение предложат что-то более рациональное. А я бы подсмотрел...
Жалко, да?
 
Ответить
СообщениеПредложил циклами. Надеялся, что в ответ на мое решение предложат что-то более рациональное. А я бы подсмотрел...
Жалко, да?

Автор - vikttur
Дата добавления - 18.12.2013 в 01:12
RAN Дата: Среда, 18.12.2013, 02:57 | Сообщение № 7
Группа: Друзья
Ранг: Экселист
Сообщений: 5660
Репутация: 1163 ±
Замечаний: 0% ±

2010
Вить, специально для тебя.
Правда тоже с циклами..

[vba]
Код
Sub Мяу()
     ArrData = Worksheets("Лист2").Range("A1:H20").Value
     ArrString = Worksheets("Лист1").Range("A1:H5").Value
     With CreateObject("scripting.dictionary")
         For i = 1 To UBound(ArrData)
             If Len(Join(Application.Index(ArrData, i, 0), "")) Then
                 .Item(Join(Application.Index(ArrData, i, 0), "")) = i
             End If
         Next
         For i = 1 To UBound(ArrString)
             If .exists(Join(Application.Index(ArrString, i, 0), "")) Then
                 ArrString(i, 1) = "оно в строке " & .Item(Join(Application.Index(ArrString, i, 0), ""))
             Else
                 ArrString(i, 1) = "нетути"
             End If
         Next
     End With
     Worksheets("Лист1").Cells(1, 27).Resize(UBound(ArrString, 1), 1).Value = ArrString
End Sub
[/vba]


Быть или не быть, вот в чем загвоздка!
 
Ответить
СообщениеВить, специально для тебя.
Правда тоже с циклами..

[vba]
Код
Sub Мяу()
     ArrData = Worksheets("Лист2").Range("A1:H20").Value
     ArrString = Worksheets("Лист1").Range("A1:H5").Value
     With CreateObject("scripting.dictionary")
         For i = 1 To UBound(ArrData)
             If Len(Join(Application.Index(ArrData, i, 0), "")) Then
                 .Item(Join(Application.Index(ArrData, i, 0), "")) = i
             End If
         Next
         For i = 1 To UBound(ArrString)
             If .exists(Join(Application.Index(ArrString, i, 0), "")) Then
                 ArrString(i, 1) = "оно в строке " & .Item(Join(Application.Index(ArrString, i, 0), ""))
             Else
                 ArrString(i, 1) = "нетути"
             End If
         Next
     End With
     Worksheets("Лист1").Cells(1, 27).Resize(UBound(ArrString, 1), 1).Value = ArrString
End Sub
[/vba]

Автор - RAN
Дата добавления - 18.12.2013 в 02:57
vikttur Дата: Среда, 18.12.2013, 11:17 | Сообщение № 8
Группа: Друзья
Ранг: Участник клуба
Сообщений: 2941
Репутация: 526 ±
Замечаний: 0% ±

И на том спасибо :)
Со словарями пока еще не работал.
 
Ответить
СообщениеИ на том спасибо :)
Со словарями пока еще не работал.

Автор - vikttur
Дата добавления - 18.12.2013 в 11:17
Dk100 Дата: Среда, 18.12.2013, 19:56 | Сообщение № 9
Группа: Пользователи
Ранг: Новичок
Сообщений: 24
Репутация: 0 ±
Замечаний: 40% ±

Excel 2010
Щас буду проверять. Спасибо за помощь.
Но можно ли как то решить формулой?
 
Ответить
СообщениеЩас буду проверять. Спасибо за помощь.
Но можно ли как то решить формулой?

Автор - Dk100
Дата добавления - 18.12.2013 в 19:56
vikttur Дата: Среда, 18.12.2013, 20:11 | Сообщение № 10
Группа: Друзья
Ранг: Участник клуба
Сообщений: 2941
Репутация: 526 ±
Замечаний: 0% ±

Проверяйте и применяйте.
Формулой можно, если количество столбцов небольшое.


Сообщение отредактировал vikttur - Среда, 18.12.2013, 20:11
 
Ответить
СообщениеПроверяйте и применяйте.
Формулой можно, если количество столбцов небольшое.

Автор - vikttur
Дата добавления - 18.12.2013 в 20:11
Dk100 Дата: Среда, 18.12.2013, 20:37 | Сообщение № 11
Группа: Пользователи
Ранг: Новичок
Сообщений: 24
Репутация: 0 ±
Замечаний: 40% ±

Excel 2010
Всё работает! )

Но на практике столкнулся ещё с одной штукой.
Мне иногда не все столбцы нужны.
Например, если я хочу исключить столбец B и D из сравнения, что нужно прописать в скрипте?


Сообщение отредактировал Dk100 - Среда, 18.12.2013, 20:37
 
Ответить
СообщениеВсё работает! )

Но на практике столкнулся ещё с одной штукой.
Мне иногда не все столбцы нужны.
Например, если я хочу исключить столбец B и D из сравнения, что нужно прописать в скрипте?

Автор - Dk100
Дата добавления - 18.12.2013 в 20:37
Dk100 Дата: Четверг, 19.12.2013, 02:45 | Сообщение № 12
Группа: Пользователи
Ранг: Новичок
Сообщений: 24
Репутация: 0 ±
Замечаний: 40% ±

Excel 2010
vikttur, ,

Помогите :(
 
Ответить
Сообщениеvikttur, ,

Помогите :(

Автор - Dk100
Дата добавления - 19.12.2013 в 02:45
KuklP Дата: Четверг, 19.12.2013, 03:32 | Сообщение № 13
Группа: Проверенные
Ранг: Старожил
Сообщений: 2369
Репутация: 486 ±
Замечаний: 0% ±

2003-2010
Но на практике столкнулся ещё с одной штукой.

vikttur, ,Помогите
А потом столкнетесь ещё с одной штукой. И еще... Виктор до фанатизма любит переделывать свои решения. Ему и днем и ночью нечего делать, вот он и ищет - чего бы такого еще переделать. deal


Ну с НДС и мы чего-то стoим! kuklp60@gmail.com
WM Z206653985942, R334086032478, U238399322728
 
Ответить
Сообщение
Но на практике столкнулся ещё с одной штукой.

vikttur, ,Помогите
А потом столкнетесь ещё с одной штукой. И еще... Виктор до фанатизма любит переделывать свои решения. Ему и днем и ночью нечего делать, вот он и ищет - чего бы такого еще переделать. deal

Автор - KuklP
Дата добавления - 19.12.2013 в 03:32
Dk100 Дата: Четверг, 19.12.2013, 17:35 | Сообщение № 14
Группа: Пользователи
Ранг: Новичок
Сообщений: 24
Репутация: 0 ±
Замечаний: 40% ±

Excel 2010
KuklP,

Нет, не столкнусь, это самая при самая последняя просьба по этому вопросу. ^_^ ^_^ ^_^
 
Ответить
СообщениеKuklP,

Нет, не столкнусь, это самая при самая последняя просьба по этому вопросу. ^_^ ^_^ ^_^

Автор - Dk100
Дата добавления - 19.12.2013 в 17:35
vikttur Дата: Пятница, 20.12.2013, 00:24 | Сообщение № 15
Группа: Друзья
Ранг: Участник клуба
Сообщений: 2941
Репутация: 526 ±
Замечаний: 0% ±

Переделкой себя не мучил. Просто добавил строку для проверки номера столбца
[offtop]Модераторам: т.к. тема с формульной перешла в VBA (и кто тут такой виноватый? :) - перекинуть в другой раздел (после того, как автор посмотрит)?)[/offtop]
К сообщению приложен файл: 0727989.xlsm (18.0 Kb)


Сообщение отредактировал vikttur - Пятница, 20.12.2013, 00:24
 
Ответить
СообщениеПеределкой себя не мучил. Просто добавил строку для проверки номера столбца
[offtop]Модераторам: т.к. тема с формульной перешла в VBA (и кто тут такой виноватый? :) - перекинуть в другой раздел (после того, как автор посмотрит)?)[/offtop]

Автор - vikttur
Дата добавления - 20.12.2013 в 00:24
Dk100 Дата: Пятница, 20.12.2013, 00:50 | Сообщение № 16
Группа: Пользователи
Ранг: Новичок
Сообщений: 24
Репутация: 0 ±
Замечаний: 40% ±

Excel 2010
vikttur,
Ой спасибо ))!
Теперь всё как надо)
Тема решина)

Вот блин, забыл лампочку на плюсик переставить :(


Сообщение отредактировал Dk100 - Пятница, 20.12.2013, 00:53
 
Ответить
Сообщениеvikttur,
Ой спасибо ))!
Теперь всё как надо)
Тема решина)

Вот блин, забыл лампочку на плюсик переставить :(

Автор - Dk100
Дата добавления - 20.12.2013 в 00:50
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Сравнение строк в определённом диапазоне в 2ух таблицах. (Формулы)
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2024 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!