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

Вход

Регистрация

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

 

= Мир MS Excel/Создание оптимизированной сводной таблицы из другой таблицы - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Создание оптимизированной сводной таблицы из другой таблицы
Ученик01 Дата: Среда, 03.04.2013, 10:02 | Сообщение № 1
Группа: Пользователи
Ранг: Прохожий
Сообщений: 6
Репутация: 0 ±
Замечаний: 0% ±

Имеется одна начальная таблица: Аргумент и Значение. Необходимо создать новую сводную таблицу, чтобы в графе "Аргумент" были данные без дубликатов, и им соответствовали значения (указанные через запятую) тоже без дубликатов. Например, имеется аргумент 1, который повторяется три раза, следовательно в сводной таблице должна быть одна запись. Данному аргументу соответствуют значения 123, 123 и 45, соотвественно нужно оставить только 123 и 45 и указать из в одной ячейке через запятую.
К сообщению приложен файл: 8962832.xls (26.0 Kb)
 
Ответить
СообщениеИмеется одна начальная таблица: Аргумент и Значение. Необходимо создать новую сводную таблицу, чтобы в графе "Аргумент" были данные без дубликатов, и им соответствовали значения (указанные через запятую) тоже без дубликатов. Например, имеется аргумент 1, который повторяется три раза, следовательно в сводной таблице должна быть одна запись. Данному аргументу соответствуют значения 123, 123 и 45, соотвественно нужно оставить только 123 и 45 и указать из в одной ячейке через запятую.

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

Excel 2016
Не понял в чём проблема
Сводная таблица и так по-умолчанию делает то что Вам надо, разве что не через запятую...
К сообщению приложен файл: Stud.xls (29.5 Kb)


ЮMoney:41001419691823 | WMR:126292472390
 
Ответить
СообщениеНе понял в чём проблема
Сводная таблица и так по-умолчанию делает то что Вам надо, разве что не через запятую...

Автор - Serge_007
Дата добавления - 03.04.2013 в 10:12
Ученик01 Дата: Среда, 03.04.2013, 10:35 | Сообщение № 3
Группа: Пользователи
Ранг: Прохожий
Сообщений: 6
Репутация: 0 ±
Замечаний: 0% ±

А каким образом возможно значения хотя бы в одну строчку прописать у каждого аргумента?
 
Ответить
СообщениеА каким образом возможно значения хотя бы в одну строчку прописать у каждого аргумента?

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

Excel 2016
В сводной - никаким
Да и какой в этом смысл?
С данными станет невозможно работать и кроме того, они превратятся в текст

ЗЫ Но можно с доп. столбцом и итогами в разных ячейках
К сообщению приложен файл: Stud_2.xls (31.0 Kb)


ЮMoney:41001419691823 | WMR:126292472390
 
Ответить
СообщениеВ сводной - никаким
Да и какой в этом смысл?
С данными станет невозможно работать и кроме того, они превратятся в текст

ЗЫ Но можно с доп. столбцом и итогами в разных ячейках

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

Serge_007, но как раз стоит именно такая задача, чтобы все значения были в одной ячейке.
Нашел следующий макрос (во вложении). Можете его настроить, чтобы в ячейку попадали именно уникальные значения, т.е. не было повторов?
К сообщению приложен файл: 2558087.xls (27.5 Kb)
 
Ответить
СообщениеSerge_007, но как раз стоит именно такая задача, чтобы все значения были в одной ячейке.
Нашел следующий макрос (во вложении). Можете его настроить, чтобы в ячейку попадали именно уникальные значения, т.е. не было повторов?

Автор - Ученик01
Дата добавления - 03.04.2013 в 13:03
Ученик01 Дата: Четверг, 04.04.2013, 06:55 | Сообщение № 6
Группа: Пользователи
Ранг: Прохожий
Сообщений: 6
Репутация: 0 ±
Замечаний: 0% ±

Неужели никто не знает решение задачи?
 
Ответить
СообщениеНеужели никто не знает решение задачи?

Автор - Ученик01
Дата добавления - 04.04.2013 в 06:55
AlexM Дата: Четверг, 04.04.2013, 08:41 | Сообщение № 7
Группа: Друзья
Ранг: Участник клуба
Сообщений: 4517
Репутация: 1129 ±
Замечаний: 0% ±

Excel 2003
Немного подправлен ваш код.
[vba]
Код
Sub Delim()
Dim V As Range, Prev$, V2$
For Each V In Range(Sheets(1).[A2], Sheets(1).[A2].End(xlDown).Offset(1)) 'на 1 больше для цикла
     If V <> Prev And Len(V2) <> 0 Then
         Sheets(2).Cells(Rows.Count, 1).End(xlUp).Offset(1) = Prev 'ниже от первой
         Sheets(2).Cells(Rows.Count, 1).End(xlUp).Offset(0, 1) = Mid(V2, 3) 'справа от предыдущей
         V2 = vbNullString
     End If
     Prev = V
     If InStr(V2, V.Offset(0, 1)) = 0 Then V2 = V2 & ", " & V.Offset(0, 1) 'ячейка справа
Next
End Sub
[/vba]
К сообщению приложен файл: 2558087_new.xls (30.0 Kb)



Номер мобильного модема (без голосовой связи)
9269171249 МегаФон, Московский регион.
 
Ответить
СообщениеНемного подправлен ваш код.
[vba]
Код
Sub Delim()
Dim V As Range, Prev$, V2$
For Each V In Range(Sheets(1).[A2], Sheets(1).[A2].End(xlDown).Offset(1)) 'на 1 больше для цикла
     If V <> Prev And Len(V2) <> 0 Then
         Sheets(2).Cells(Rows.Count, 1).End(xlUp).Offset(1) = Prev 'ниже от первой
         Sheets(2).Cells(Rows.Count, 1).End(xlUp).Offset(0, 1) = Mid(V2, 3) 'справа от предыдущей
         V2 = vbNullString
     End If
     Prev = V
     If InStr(V2, V.Offset(0, 1)) = 0 Then V2 = V2 & ", " & V.Offset(0, 1) 'ячейка справа
Next
End Sub
[/vba]

Автор - AlexM
Дата добавления - 04.04.2013 в 08:41
Ученик01 Дата: Четверг, 04.04.2013, 09:05 | Сообщение № 8
Группа: Пользователи
Ранг: Прохожий
Сообщений: 6
Репутация: 0 ±
Замечаний: 0% ±

AlexM, огромное спасибо!
 
Ответить
СообщениеAlexM, огромное спасибо!

Автор - Ученик01
Дата добавления - 04.04.2013 в 09:05
  • Страница 1 из 1
  • 1
Поиск:

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