|
Компьютерный форум OSzone.net » Сфера Microsoft » Microsoft Office (Word, Excel, Outlook и т.д.) » 2013 - [решено] Объединание строк в Microsoft Office |
|
2013 - [решено] Объединание строк в Microsoft Office
|
Забанен Сообщения: 2 |
Добрый день!
Нужна помощь с Microsoft Office. Есть некая таблица, где есть колонки: имя, фамилия, мероприятие 1, мероприятие 2, мероприятие 3 и тд. И дальше идёт заполнение по строкам, где имя и фамилия и значение "Да", если человек был на мероприятии. Проблема в том, что нужна функция, которая копировала бы таблицу объединяя данные по дубликатам(критерием являются имя и фамилия). Помогите пожалуйста! Заранее спасибо. Файл с примером задачи прилагается. |
|
Отправлено: 10:30, 23-02-2015 |
Модератор Сообщения: 16848
|
Профиль | Сайт | Отправить PM | Цитировать phoenix91140, уточните, как объединяются мероприятия, что в результате? Т.к. для удаления повторяющихся имен и фамилий есть встроенная функция "Удалить дубликаты". Но в этом случае о данных в колонках "Мероприятие..." можно забыть
|
------- Отправлено: 11:14, 23-02-2015 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Забанен Сообщения: 2
|
Нужно получить в итоге Имя и Фамилию, и чтобы значения мероприятий перешли все в одну строку.
Прилагаю новый файл. В таблице слева, то как это есть до изменений, а справа, то что должно получиться. Как вот такое на автомате сделать? Тоесть чтобы строки с повторябшимся именем и фамилией объединялись в одну и значения мероприятий со всех строк сложились в одну строку. Данные мероприятий указанные в разных строках надо сохранить в одну строку и оставить лишь одну строку на уникального человека(имя + фамилия). Вот новый файл |
Отправлено: 12:58, 23-02-2015 | #3 |
Ветеран Сообщения: 27449
|
Профиль | Отправить PM | Цитировать Процедура на VBA:
Скрытый текст
Sub Sample() Dim objConnection As Object Dim objRecordSet As Object Dim objWorksheet As Worksheet Dim objRange As Range Dim i As Integer Set objConnection = CreateObject("ADODB.Connection") With objConnection .Provider = "Microsoft.Jet.OLEDB.4.0" .ConnectionString = _ "Data Source=" & ThisWorkbook.FullName & ";" & _ "Extended Properties=""Excel 8.0;HDR=Yes;""" .Open End With Set objRecordSet = objConnection.Execute( _ "SELECT FIRST(Имя) AS Имя, FIRST(Фамилия) AS Фамилия, " & _ "COUNT([Мероприятие 1]) AS [Мероприятие 1], " & _ "COUNT([Мероприятие2]) AS [Мероприятие 2], " & _ "COUNT([Мероприятие 3]) AS [Мероприятие 3], " & _ "COUNT([Мероприятие 4]) AS [Мероприятие 4] " & _ "FROM [Sheet1$] " & _ "GROUP BY Имя, Фамилия ORDER BY Фамилия, Имя" _ ) Set objWorksheet = ThisWorkbook.Worksheets.Add() Set objRange = objWorksheet.Range("A1") With objRecordSet .MoveFirst For i = 0 To .Fields.Count - 1 objRange.Offset(0, i).Value = .Fields.Item(i).Name Next Do Until .EOF Set objRange = objRange.Offset(1, 0) For i = 0 To 1 objRange.Offset(0, i).Value = .Fields.Item(i).Value Next For i = 2 To .Fields.Count - 1 If .Fields.Item(i).Value Then objRange.Offset(0, i).Value = "Да" End If Next .MoveNext Loop End With objWorksheet.Columns("A:F").AutoFit Set objRange = Nothing Set objWorksheet = Nothing objRecordSet.Close objConnection.Close Set objRecordSet = Nothing Set objConnection = Nothing End Sub Рабочая книга перед исполнением процедуры должна быть сохранена. Проверялось под Office 2003: Скрытый текст
![]() Заработает ли у Вас — не скажу. Пример на коленке делали? «Эдгар/Эдраг», «Мероприятие 1/Мероприятие2». |
Отправлено: 15:29, 23-02-2015 | #4 |
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Microsoft собирается переименовать Office Web Apps в Office Online | OSZone News | Новости и события Microsoft | 0 | 28-01-2014 11:30 | |
Разное - Как конвертировать базу данных Microsoft Office Acess в Open office Base? | tier_skg | Хочу все знать | 0 | 08-01-2013 20:36 | |
Microsoft объявляет о доступности бесплатной альтернативы MS Office - Office Web Apps | OSZone News | Новости и события Microsoft | 17 | 27-06-2010 10:47 | |
Microsoft анонсирует выпуск бесплатной версии MS Office - Office Starter 2010 | OSZone News | Новости и события Microsoft | 0 | 10-10-2009 15:30 |
|