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

Вход

Регистрация

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

 

= Мир MS Excel/Кто может написать макрос(поиск повт. значений в диапазонах) - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Кто может написать макрос(поиск повт. значений в диапазонах)
Рипыч Дата: Пятница, 06.12.2013, 12:05 | Сообщение № 1
Группа: Пользователи
Ранг: Прохожий
Сообщений: 5
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Добрый день!
в файле две колонки с цифрами по 7 знаков, нужно выяснить есть ли повторяющиеся элементы в этих колонках и вывести их или в третьей, или в новом листе, не суть
колонка Б это то что нужно искать в колонке А
К сообщению приложен файл: 7863744.rar (29.7 Kb)


Сообщение отредактировал Рипыч - Пятница, 06.12.2013, 12:34
 
Ответить
СообщениеДобрый день!
в файле две колонки с цифрами по 7 знаков, нужно выяснить есть ли повторяющиеся элементы в этих колонках и вывести их или в третьей, или в новом листе, не суть
колонка Б это то что нужно искать в колонке А

Автор - Рипыч
Дата добавления - 06.12.2013 в 12:05
_Boroda_ Дата: Пятница, 06.12.2013, 12:35 | Сообщение № 2
Группа: Админы
Ранг: Местный житель
Сообщений: 16790
Репутация: 6557 ±
Замечаний: ±

2003; 2007; 2010; 2013 RUS
Так нужно?
Код
=ЕСЛИОШИБКА(ИНДЕКС(A$1:A$2150;ПОИСКПОЗ("*"&B1&"*";A$1:A$2150&"";));"--")

формула массива. Вводится одновременным нажатием Контрл Шифт ентер
К сообщению приложен файл: 1_1.xlsb (27.7 Kb)


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
СообщениеТак нужно?
Код
=ЕСЛИОШИБКА(ИНДЕКС(A$1:A$2150;ПОИСКПОЗ("*"&B1&"*";A$1:A$2150&"";));"--")

формула массива. Вводится одновременным нажатием Контрл Шифт ентер

Автор - _Boroda_
Дата добавления - 06.12.2013 в 12:35
Рипыч Дата: Пятница, 06.12.2013, 12:47 | Сообщение № 3
Группа: Пользователи
Ранг: Прохожий
Сообщений: 5
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Не совсем, нужно чтобы значение в колонке Б было целиком в колонке А, простое совпадение или если в Б значение 2345, а в А- 12345, то тоже совпадение.
Я заменил файл в шапке, посмотрите, пожалуйста.


Сообщение отредактировал Рипыч - Пятница, 06.12.2013, 12:48
 
Ответить
СообщениеНе совсем, нужно чтобы значение в колонке Б было целиком в колонке А, простое совпадение или если в Б значение 2345, а в А- 12345, то тоже совпадение.
Я заменил файл в шапке, посмотрите, пожалуйста.

Автор - Рипыч
Дата добавления - 06.12.2013 в 12:47
SkyPro Дата: Пятница, 06.12.2013, 12:53 | Сообщение № 4
Группа: Друзья
Ранг: Старожил
Сообщений: 1206
Репутация: 255 ±
Замечаний: 0% ±

2010
У вас в файле нет повторов.
[vba]
Код
Sub povt()
Dim ar1, ar2, arRes(1 To 65536, 1 To 1)
Dim lRow&, i&, v&, c&, t1$, t2$

lRow = [a65536].End(xlUp).Row
ar1 = Range("A1:A" & lRow)
lRow = [b65536].End(xlUp).Row
ar2 = Range("B1:B" & lRow)

For i = 1 To UBound(ar2)
t2 = ar2(i, 1)
     For v = 1 To UBound(ar1)
     t1 = ar1(v, 1)
         If InStr(1, t1, t2) > 0 Then
             c = c + 1
             arRes(c, 1) = ar1(v, 1)
         End If
     Next
Next

If c <> 0 Then
     [c1].Resize(c) = arRes
End If
End Sub
[/vba]


skypro1111@gmail.com

Сообщение отредактировал SkyPro - Пятница, 06.12.2013, 12:58
 
Ответить
СообщениеУ вас в файле нет повторов.
[vba]
Код
Sub povt()
Dim ar1, ar2, arRes(1 To 65536, 1 To 1)
Dim lRow&, i&, v&, c&, t1$, t2$

lRow = [a65536].End(xlUp).Row
ar1 = Range("A1:A" & lRow)
lRow = [b65536].End(xlUp).Row
ar2 = Range("B1:B" & lRow)

For i = 1 To UBound(ar2)
t2 = ar2(i, 1)
     For v = 1 To UBound(ar1)
     t1 = ar1(v, 1)
         If InStr(1, t1, t2) > 0 Then
             c = c + 1
             arRes(c, 1) = ar1(v, 1)
         End If
     Next
Next

If c <> 0 Then
     [c1].Resize(c) = arRes
End If
End Sub
[/vba]

Автор - SkyPro
Дата добавления - 06.12.2013 в 12:53
Рипыч Дата: Пятница, 06.12.2013, 12:59 | Сообщение № 5
Группа: Пользователи
Ранг: Прохожий
Сообщений: 5
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
У вас в файле нет повторов.


Спасибо!
 
Ответить
Сообщение
У вас в файле нет повторов.


Спасибо!

Автор - Рипыч
Дата добавления - 06.12.2013 в 12:59
Рипыч Дата: Пятница, 06.12.2013, 13:12 | Сообщение № 6
Группа: Пользователи
Ранг: Прохожий
Сообщений: 5
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Так я так и сделал

Я смотрю пример, ячейки Б10 и А19, значения 5892089255 и 8920892 соответственно, если значение из колонки Б посередине значения из колонки А, то это не то. А если было бы, например, в колонке А 1234567, а в Б - 234567, то было бы то, что нужно, как бы привязка к правому краю значения ячейки из колонки Б.
 
Ответить
Сообщение
Так я так и сделал

Я смотрю пример, ячейки Б10 и А19, значения 5892089255 и 8920892 соответственно, если значение из колонки Б посередине значения из колонки А, то это не то. А если было бы, например, в колонке А 1234567, а в Б - 234567, то было бы то, что нужно, как бы привязка к правому краю значения ячейки из колонки Б.

Автор - Рипыч
Дата добавления - 06.12.2013 в 13:12
_Boroda_ Дата: Пятница, 06.12.2013, 13:16 | Сообщение № 7
Группа: Админы
Ранг: Местный житель
Сообщений: 16790
Репутация: 6557 ±
Замечаний: ±

2003; 2007; 2010; 2013 RUS
А если было бы, например, в колонке А 1234567, а в Б - 234567, то было бы то, что нужно, как бы привязка к правому краю значения ячейки из колонки Б.

Ну Вы же об этом только что написали.
Тогда так
Код
=ЕСЛИОШИБКА(ИНДЕКС(A$1:A$2150;ПОИСКПОЗ("*"&B1;A$1:A$2150&"";));"--")


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
Сообщение
А если было бы, например, в колонке А 1234567, а в Б - 234567, то было бы то, что нужно, как бы привязка к правому краю значения ячейки из колонки Б.

Ну Вы же об этом только что написали.
Тогда так
Код
=ЕСЛИОШИБКА(ИНДЕКС(A$1:A$2150;ПОИСКПОЗ("*"&B1;A$1:A$2150&"";));"--")

Автор - _Boroda_
Дата добавления - 06.12.2013 в 13:16
Рипыч Дата: Пятница, 06.12.2013, 13:20 | Сообщение № 8
Группа: Пользователи
Ранг: Прохожий
Сообщений: 5
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
=ЕСЛИОШИБКА(ИНДЕКС(A$1:A$2150;ПОИСКПОЗ("*"&B1;A$1:A$2150&"";));"--")

А так вообще супер, огроменное спасибо, респект, уважуха и репы побольше)
 
Ответить
Сообщение
=ЕСЛИОШИБКА(ИНДЕКС(A$1:A$2150;ПОИСКПОЗ("*"&B1;A$1:A$2150&"";));"--")

А так вообще супер, огроменное спасибо, респект, уважуха и репы побольше)

Автор - Рипыч
Дата добавления - 06.12.2013 в 13:20
  • Страница 1 из 1
  • 1
Поиск:

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