|
Компьютерный форум OSzone.net » Сфера Microsoft » Microsoft Office (Word, Excel, Outlook и т.д.) » Разное - Задачка, объединить данные с разных листов |
|
Разное - Задачка, объединить данные с разных листов
|
Ветеран Сообщения: 890 |
Профиль | Отправить PM | Цитировать Друзья, задали такую задачку:
Есть несколько листов с данными, в списке ФИО и некие цифры по месяцам. Задача: Объединить данные, и выявить одинаковые ФИО и чтобы они расположились по столбацам. Условно: ФИО Январь Февраль Март Иванов И.И. 242425 3434 т.е. в данном случае может быть в феврале не было цифр, но за март были.... У меня пока только одна мысль: Ручками скопировать на один лист..... а вот как дальше упорядочить, вопрос... Помогите, может какие мысли накините.. может скрипт какой-нибудь накидать... Были бы имена все одинаковые, было бы проще, но бывает что эти имена не по порядку идут и бывает некоторых имён нет.... а бывает что в трёх таблицах одинаковые имена, но за Январь данные есть, а допустим за февраль нет данных, а за март опять есть... Файл пример: https://cloud.mail.ru/public/PTmH/XofBBqjs8 чуть продолжу Условно говоря: Собрал данные, пусть даже вручную, на один лист... В итоге получим: 1 столбец ФИО 2, 3, 4, 5 столбцы с данными Надо как-то чтобы строки с одинаковыми ФИО свернулись, а данные по столбцам упали в столбцы эквивалентные свёрнутым ФИО |
|
Отправлено: 18:35, 13-04-2023 |
Модератор Сообщения: 16831
|
Профиль | Сайт | Отправить PM | Цитировать |
------- Отправлено: 19:53, 13-04-2023 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Ветеран Сообщения: 890
|
Профиль | Отправить PM | Цитировать Цитата okshef:
|
|
Отправлено: 20:24, 13-04-2023 | #3 |
Модератор Сообщения: 16831
|
Профиль | Сайт | Отправить PM | Цитировать Цитата DimonNT:
|
|
------- Отправлено: 20:34, 13-04-2023 | #4 |
Ветеран Сообщения: 2710
|
Профиль | Отправить PM | Цитировать DimonNT, Для начала, реорганизуем таблицу:
1) листы с данными переименуем в строгом соответствии с названием месяцев. листы с месяцами можно добавлять по мере необходимости 2) создадим лист с названием, например, Свод, нарисуем на нём заголовок и отформатируем для данных Далее - выполним макрос
Sub DimonNT() Const rFio = "A2", Svod = "Свод" Amon = Array("Январь", "Февраль", "Март", "Апрель", "Май", "Июнь", "Июль", "Август", "Сентябрь", "Октябрь", "Ноябрь", "Декабрь") Dim Asum0(0, 11) For i = 0 To 11 Asum0(0, i) = 0 Next Application.ScreenUpdating = False With CreateObject("Scripting.Dictionary") For m = 0 To 11 On Error Resume Next Set R = Sheets(Amon(m)).Range(rFio) If Err.Number = 0 Then j = 0 Do Rv = R.Offset(j, 0).Value If Not .Exists(Rv) Then .Add Rv, Asum0 End If Asum = .Item(Rv) Asum(0, m) = Asum(0, m) + R.Offset(j, 1).Value .Item(Rv) = Asum j = j + 1 Loop Until Rv = Empty End If On Error GoTo 0 Next j = 0 Sheets(Svod).Range(rFio).Resize(10000, 13).ClearContents For Each k In .Keys Sheets(Svod).Range(rFio).Offset(j, 0) = k Sheets(Svod).Range(rFio).Offset(j, 1).Resize(1, 12).Value = .Item(k) j = j + 1 Next Application.ScreenUpdating = True End With End Sub Вашу таблицу с макросом прилагаю. Удалите только из названия файла расширение .xls |
|
------- Отправлено: 23:15, 13-04-2023 | #5 |
Ветеран Сообщения: 890
|
Профиль | Отправить PM | Цитировать Цитата okshef:
|
|
Отправлено: 06:47, 14-04-2023 | #6 |
Модератор Сообщения: 16831
|
Профиль | Сайт | Отправить PM | Цитировать Нажимаете на вкладке "Данные" кнопку "Запросы и подключения". Появляется панель с запросами. Двойной клик по любому - открывается Power Query. Кликайте по нужному запросу -> Вкладка "Главная" -> "Расширенный редактор".
Там 4 запроса. 3 одинаковых для исходных таблиц. Совсем другой вопрос - что делать, если данные будут добавляться. Это отдельный разговор |
------- Последний раз редактировалось okshef, 14-04-2023 в 10:53. Отправлено: 07:04, 14-04-2023 | #7 |
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
PowerShell - объединить данные из папок в один csv | kontox | Скриптовые языки администрирования Windows | 18 | 25-10-2018 15:24 | |
2010 - [решено] Сумма по нарастающей из разных листов | sov44 | Microsoft Office (Word, Excel, Outlook и т.д.) | 4 | 31-03-2015 22:29 | |
2007 - [решено] Как собрать данные с нескольких листов без использования сводной таблицы | dummy12 | Microsoft Office (Word, Excel, Outlook и т.д.) | 2 | 21-09-2012 10:13 | |
HDD - [решено] Объединить два разных HDD в один или хотя бы перераспределить | SwanHearts | Накопители (SSD, HDD, USB Flash) | 3 | 19-07-2010 14:17 | |
Как объединить 2 видеофрагмента из разных файлов | Den47 | Видео и аудио: обработка и кодирование | 8 | 23-10-2008 12:23 |
|