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

Вход

Регистрация

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

 

= Мир MS Excel/Сортировка данных - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по Excel » Сортировка данных (Необходимо объеденить даные с разных листов.)
Сортировка данных
cherkas Дата: Вторник, 26.03.2013, 08:24 | Сообщение № 1
Группа: Пользователи
Ранг: Участник
Сообщений: 73
Репутация: 2 ±
Замечаний: 0% ±

2003
Здравствуйте. Задача стоит следующая:

Имеется "Лист1" на котором в столбце "А" артикулы товара. В столбцах с "В" по "I" внесены данные про этот товар.

Имеется "Лист2" на котором в столбце "А" артикулы товара. В столбцах с "В" по "I" внесены дополнительные данные про этот товар.

На "Лист1" и "Лист2" имеются товары с одинаовым артикулом.

Задача состоит в том, что бы рассортировать товары.

Основной "Лист1"

Если артикул на "Лист2" совпадает с артикулом "Лист1" то данные "Лист2" ячеек с "А" по "I" копируются в "Лист1" в ячейки с "K" по "S"

При этом нужно рассортировать "Лист1" на "Лист3" и "Лист4" следующим образом

- на "Лист3" находятся данные к которым нашлись дополнительные данные
- на "Лист4" находятся данные к которым не нашлись дополнительные данные

(Хотя можно и на одном листе, я потом отсортирую и разнесу по разным листам в ручную.)

_____________________________________

Макрос я сделал, но он построен как то не так, я прикидывал скорость сортировки на 10-15 тыс. строк товара - будут уходить недели!!!

Подскажите как его можно оптимизировать?

В приложении макрос2 сортировка 100 строк (по "y=101").

Данные не принципиально в каких столбцах, в разных фаилах по разному, в одних это столбцы с "А" по "В" а в других с "А" по "Е", дополнительные данные так же.

В столбце "А" могут быть как цифры так и буквы и их смесь.
К сообщению приложен файл: 11.xls (40.0 Kb)


Сообщение отредактировал cherkas - Вторник, 26.03.2013, 08:40
 
Ответить
СообщениеЗдравствуйте. Задача стоит следующая:

Имеется "Лист1" на котором в столбце "А" артикулы товара. В столбцах с "В" по "I" внесены данные про этот товар.

Имеется "Лист2" на котором в столбце "А" артикулы товара. В столбцах с "В" по "I" внесены дополнительные данные про этот товар.

На "Лист1" и "Лист2" имеются товары с одинаовым артикулом.

Задача состоит в том, что бы рассортировать товары.

Основной "Лист1"

Если артикул на "Лист2" совпадает с артикулом "Лист1" то данные "Лист2" ячеек с "А" по "I" копируются в "Лист1" в ячейки с "K" по "S"

При этом нужно рассортировать "Лист1" на "Лист3" и "Лист4" следующим образом

- на "Лист3" находятся данные к которым нашлись дополнительные данные
- на "Лист4" находятся данные к которым не нашлись дополнительные данные

(Хотя можно и на одном листе, я потом отсортирую и разнесу по разным листам в ручную.)

_____________________________________

Макрос я сделал, но он построен как то не так, я прикидывал скорость сортировки на 10-15 тыс. строк товара - будут уходить недели!!!

Подскажите как его можно оптимизировать?

В приложении макрос2 сортировка 100 строк (по "y=101").

Данные не принципиально в каких столбцах, в разных фаилах по разному, в одних это столбцы с "А" по "В" а в других с "А" по "Е", дополнительные данные так же.

В столбце "А" могут быть как цифры так и буквы и их смесь.

Автор - cherkas
Дата добавления - 26.03.2013 в 08:24
jakim Дата: Вторник, 26.03.2013, 08:52 | Сообщение № 2
Группа: Друзья
Ранг: Старожил
Сообщений: 1202
Репутация: 313 ±
Замечаний: 0% ±

Excel 2010
Все необходимые операции с Вашими делаются очень просто в ACCESS.
 
Ответить
Сообщение
Все необходимые операции с Вашими делаются очень просто в ACCESS.

Автор - jakim
Дата добавления - 26.03.2013 в 08:52
cherkas Дата: Вторник, 26.03.2013, 08:55 | Сообщение № 3
Группа: Пользователи
Ранг: Участник
Сообщений: 73
Репутация: 2 ±
Замечаний: 0% ±

2003
Цитата
Все необходимые операции с Вашими делаются очень просто в ACCESS.


Подскажите как? Я Access немножечко помню, но как такое рассортировать сейчас понятия не имею (пользовался Access-ом лет 10 назад что то подзабылось)


Сообщение отредактировал cherkas - Вторник, 26.03.2013, 08:57
 
Ответить
Сообщение
Цитата
Все необходимые операции с Вашими делаются очень просто в ACCESS.


Подскажите как? Я Access немножечко помню, но как такое рассортировать сейчас понятия не имею (пользовался Access-ом лет 10 назад что то подзабылось)

Автор - cherkas
Дата добавления - 26.03.2013 в 08:55
KuklP Дата: Вторник, 26.03.2013, 09:05 | Сообщение № 4
Группа: Проверенные
Ранг: Старожил
Сообщений: 2369
Репутация: 486 ±
Замечаний: 0% ±

2003-2010
Пример можно было бы и получше сделать...
[vba]
Код
Public Sub www()
     Dim d As Object, i&, a, b
     Dim sh As Worksheet, sh1 As Worksheet
     Set sh = Sheets("1"): Set sh1 = Sheets("2")
     Set d = CreateObject("scripting.dictionary")
     a = sh.[a1].CurrentRegion.Columns(1)
     b = sh1.[a1].CurrentRegion.Columns(1)
     For i = 1 To UBound(a)
         d.Item(a(i, 1)) = i
     Next
     For i = 1 To UBound(b)
         If d.exists(b(i, 1)) Then
             sh1.Range(sh1.Cells(i, 2), sh1.Cells(i, 10)).Copy sh.Cells(d.Item(b(i, 1)), 11)
             sh.Range(sh.Cells(d.Item(b(i, 1)), 1), sh.Cells(d.Item(b(i, 1)), 20)).Copy Sheets("готовое").Cells(Rows.Count, 1).End(xlUp)(2)
         Else
             sh.Range(sh.Cells(i, 1), sh.Cells(i, 10)).Copy Sheets("обработка").Cells(Rows.Count, 1).End(xlUp)(2)
             sh1.Range(sh1.Cells(i, 1), sh1.Cells(i, 10)).Copy Sheets("без совпадений").Cells(Rows.Count, 1).End(xlUp)(2)
         End If
     Next
     Set d = Nothing
End Sub
[/vba]


Ну с НДС и мы чего-то стoим! kuklp60@gmail.com
WM Z206653985942, R334086032478, U238399322728
 
Ответить
СообщениеПример можно было бы и получше сделать...
[vba]
Код
Public Sub www()
     Dim d As Object, i&, a, b
     Dim sh As Worksheet, sh1 As Worksheet
     Set sh = Sheets("1"): Set sh1 = Sheets("2")
     Set d = CreateObject("scripting.dictionary")
     a = sh.[a1].CurrentRegion.Columns(1)
     b = sh1.[a1].CurrentRegion.Columns(1)
     For i = 1 To UBound(a)
         d.Item(a(i, 1)) = i
     Next
     For i = 1 To UBound(b)
         If d.exists(b(i, 1)) Then
             sh1.Range(sh1.Cells(i, 2), sh1.Cells(i, 10)).Copy sh.Cells(d.Item(b(i, 1)), 11)
             sh.Range(sh.Cells(d.Item(b(i, 1)), 1), sh.Cells(d.Item(b(i, 1)), 20)).Copy Sheets("готовое").Cells(Rows.Count, 1).End(xlUp)(2)
         Else
             sh.Range(sh.Cells(i, 1), sh.Cells(i, 10)).Copy Sheets("обработка").Cells(Rows.Count, 1).End(xlUp)(2)
             sh1.Range(sh1.Cells(i, 1), sh1.Cells(i, 10)).Copy Sheets("без совпадений").Cells(Rows.Count, 1).End(xlUp)(2)
         End If
     Next
     Set d = Nothing
End Sub
[/vba]

Автор - KuklP
Дата добавления - 26.03.2013 в 09:05
jakim Дата: Вторник, 26.03.2013, 09:48 | Сообщение № 5
Группа: Друзья
Ранг: Старожил
Сообщений: 1202
Репутация: 313 ±
Замечаний: 0% ±

Excel 2010
Просто импортируйте из Excel в Access и потом делайте с вашими данными то, что вам необходимо.
 
Ответить
Сообщение
Просто импортируйте из Excel в Access и потом делайте с вашими данными то, что вам необходимо.

Автор - jakim
Дата добавления - 26.03.2013 в 09:48
RAN Дата: Вторник, 26.03.2013, 09:56 | Сообщение № 6
Группа: Друзья
Ранг: Экселист
Сообщений: 5660
Репутация: 1163 ±
Замечаний: 0% ±

2010
Access, Access...
Обычный ВПР, настраиваемая сортировка и 10 щелчков мышкой. biggrin


Быть или не быть, вот в чем загвоздка!
 
Ответить
СообщениеAccess, Access...
Обычный ВПР, настраиваемая сортировка и 10 щелчков мышкой. biggrin

Автор - RAN
Дата добавления - 26.03.2013 в 09:56
KuklP Дата: Вторник, 26.03.2013, 10:09 | Сообщение № 7
Группа: Проверенные
Ранг: Старожил
Сообщений: 2369
Репутация: 486 ±
Замечаний: 0% ±

2003-2010
Андрей, нарисуй пример, как ты ВПР-ом разносишь по листам данные biggrin


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

Автор - KuklP
Дата добавления - 26.03.2013 в 10:09
cherkas Дата: Вторник, 26.03.2013, 10:21 | Сообщение № 8
Группа: Пользователи
Ранг: Участник
Сообщений: 73
Репутация: 2 ±
Замечаний: 0% ±

2003
Вот пример того что нужно рассортировать. Скачать (1.35 М)

С Access вроде бы получается, но есть проблема, много ячеек выбрасывается из за не соответствия типа данных. Если в столбце и числа и буквы, то столбец определяется как двойное с плавающей запятой и все буквенные строки выбрасываются. Изменить тип данных при экспорте не получается. (Ну это наверное на другой форум).


Сообщение отредактировал cherkas - Вторник, 26.03.2013, 10:26
 
Ответить
СообщениеВот пример того что нужно рассортировать. Скачать (1.35 М)

С Access вроде бы получается, но есть проблема, много ячеек выбрасывается из за не соответствия типа данных. Если в столбце и числа и буквы, то столбец определяется как двойное с плавающей запятой и все буквенные строки выбрасываются. Изменить тип данных при экспорте не получается. (Ну это наверное на другой форум).

Автор - cherkas
Дата добавления - 26.03.2013 в 10:21
cherkas Дата: Вторник, 26.03.2013, 10:30 | Сообщение № 9
Группа: Пользователи
Ранг: Участник
Сообщений: 73
Репутация: 2 ±
Замечаний: 0% ±

2003
Цитата (KuklP)
Андрей, нарисуй пример, как ты ВПР-ом разносишь по листам данные biggrin


Я писал, что разносить не обязательно.

Цитата (cherkas)
При этом нужно рассортировать "Лист1" на "Лист3" и "Лист4" следующим образом

- на "Лист3" находятся данные к которым нашлись дополнительные данные
- на "Лист4" находятся данные к которым не нашлись дополнительные данные

(Хотя можно и на одном листе, я потом отсортирую и разнесу по разным листам в ручную.)


Сообщение отредактировал cherkas - Вторник, 26.03.2013, 10:31
 
Ответить
Сообщение
Цитата (KuklP)
Андрей, нарисуй пример, как ты ВПР-ом разносишь по листам данные biggrin


Я писал, что разносить не обязательно.

Цитата (cherkas)
При этом нужно рассортировать "Лист1" на "Лист3" и "Лист4" следующим образом

- на "Лист3" находятся данные к которым нашлись дополнительные данные
- на "Лист4" находятся данные к которым не нашлись дополнительные данные

(Хотя можно и на одном листе, я потом отсортирую и разнесу по разным листам в ручную.)

Автор - cherkas
Дата добавления - 26.03.2013 в 10:30
RAN Дата: Вторник, 26.03.2013, 10:31 | Сообщение № 10
Группа: Друзья
Ранг: Экселист
Сообщений: 5660
Репутация: 1163 ±
Замечаний: 0% ±

2010
Зачем ВПРом? Мышкой после сортировки по столбцу К. А ВПРом только вытянуть на первый лист.


Быть или не быть, вот в чем загвоздка!
 
Ответить
СообщениеЗачем ВПРом? Мышкой после сортировки по столбцу К. А ВПРом только вытянуть на первый лист.

Автор - RAN
Дата добавления - 26.03.2013 в 10:31
cherkas Дата: Вторник, 26.03.2013, 10:35 | Сообщение № 11
Группа: Пользователи
Ранг: Участник
Сообщений: 73
Репутация: 2 ±
Замечаний: 0% ±

2003
Что за функция ВПР? Это ж я так понимаю не модуль даже а формула.
 
Ответить
СообщениеЧто за функция ВПР? Это ж я так понимаю не модуль даже а формула.

Автор - cherkas
Дата добавления - 26.03.2013 в 10:35
Serge_007 Дата: Вторник, 26.03.2013, 10:42 | Сообщение № 12
Группа: Админы
Ранг: Местный житель
Сообщений: 16475
Репутация: 2749 ±
Замечаний: ±

Excel 2016


ЮMoney:41001419691823 | WMR:126292472390
 
Ответить
СообщениеВПР()

Автор - Serge_007
Дата добавления - 26.03.2013 в 10:42
cherkas Дата: Вторник, 26.03.2013, 10:50 | Сообщение № 13
Группа: Пользователи
Ранг: Участник
Сообщений: 73
Репутация: 2 ±
Замечаний: 0% ±

2003
O-o-o! Нет слов! Спасибо! Такого я не знал.

___________________________________________________________

yahoo yahoo yahoo yahoo yahoo

Работает!


Сообщение отредактировал cherkas - Вторник, 26.03.2013, 11:10
 
Ответить
СообщениеO-o-o! Нет слов! Спасибо! Такого я не знал.

___________________________________________________________

yahoo yahoo yahoo yahoo yahoo

Работает!

Автор - cherkas
Дата добавления - 26.03.2013 в 10:50
KuklP Дата: Вторник, 26.03.2013, 12:07 | Сообщение № 14
Группа: Проверенные
Ранг: Старожил
Сообщений: 2369
Репутация: 486 ±
Замечаний: 0% ±

2003-2010
Цитата (cherkas)
я потом отсортирую и разнесу по разным листам в ручную
Мне вообще-то все равно. Жаль потраченного времени.


Ну с НДС и мы чего-то стoим! kuklp60@gmail.com
WM Z206653985942, R334086032478, U238399322728
 
Ответить
Сообщение
Цитата (cherkas)
я потом отсортирую и разнесу по разным листам в ручную
Мне вообще-то все равно. Жаль потраченного времени.

Автор - KuklP
Дата добавления - 26.03.2013 в 12:07
cherkas Дата: Вторник, 26.03.2013, 13:15 | Сообщение № 15
Группа: Пользователи
Ранг: Участник
Сообщений: 73
Репутация: 2 ±
Замечаний: 0% ±

2003
Цитата (KuklP)
Мне вообще-то все равно. Жаль потраченного времени.


Нет нет, Вам тоже Спасибо! Просто то что я хотел оказалось оооочень просто. У меня мозг перевернулся.
 
Ответить
Сообщение
Цитата (KuklP)
Мне вообще-то все равно. Жаль потраченного времени.


Нет нет, Вам тоже Спасибо! Просто то что я хотел оказалось оооочень просто. У меня мозг перевернулся.

Автор - cherkas
Дата добавления - 26.03.2013 в 13:15
Мир MS Excel » Вопросы и решения » Вопросы по Excel » Сортировка данных (Необходимо объеденить даные с разных листов.)
  • Страница 1 из 1
  • 1
Поиск:

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