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

Вход

Регистрация

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

 

= Мир MS Excel/Создание единого перечня - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по Excel » Создание единого перечня (Формулы/Formulas)
Создание единого перечня
Neonyc Дата: Понедельник, 05.09.2016, 12:19 | Сообщение № 1
Группа: Пользователи
Ранг: Новичок
Сообщений: 18
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Добрый день!
Есть списки продукции различающиеся в разных месяцах.
Как сделать один общий перечень на листе СВОД (в настоящее время просто руками выбирал и оставил только для примера - что на выходе должно получиться), содержащий полный список материалов и без их повторений?
Возможно не сложная задача, но не получается найти какой то простой ответ.
К сообщению приложен файл: 05092016.xlsx (63.0 Kb)
 
Ответить
СообщениеДобрый день!
Есть списки продукции различающиеся в разных месяцах.
Как сделать один общий перечень на листе СВОД (в настоящее время просто руками выбирал и оставил только для примера - что на выходе должно получиться), содержащий полный список материалов и без их повторений?
Возможно не сложная задача, но не получается найти какой то простой ответ.

Автор - Neonyc
Дата добавления - 05.09.2016 в 12:19
_Boroda_ Дата: Понедельник, 05.09.2016, 12:44 | Сообщение № 2
Группа: Модераторы
Ранг: Местный житель
Сообщений: 16674
Репутация: 6479 ±
Замечаний: 0% ±

2003; 2007; 2010; 2013 RUS
Можно сводной таблицей по нескольким диапазонам консолидации
К сообщению приложен файл: 05092016_1.xlsx (68.6 Kb)


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

Автор - _Boroda_
Дата добавления - 05.09.2016 в 12:44
buchlotnik Дата: Понедельник, 05.09.2016, 12:52 | Сообщение № 3
Группа: Заблокированные
Ранг: Участник клуба
Сообщений: 3442
Репутация: 929 ±
Замечаний: 20% ±

2010, 2013, 2016 RUS / ENG
Или собрать данные формулами - пашет и при добавлении листов, но тяжеловастенько
UPD файл перезалил - чуть допилил
И листы лучше назвать Октябрь2015, Ноябрь2015 и т.д. - тогда в сводную они в хронологии пойдут
К сообщению приложен файл: 05092016-2-.xlsb (61.8 Kb)


Сообщение отредактировал buchlotnik - Понедельник, 05.09.2016, 15:03
 
Ответить
СообщениеИли собрать данные формулами - пашет и при добавлении листов, но тяжеловастенько
UPD файл перезалил - чуть допилил
И листы лучше назвать Октябрь2015, Ноябрь2015 и т.д. - тогда в сводную они в хронологии пойдут

Автор - buchlotnik
Дата добавления - 05.09.2016 в 12:52
Neonyc Дата: Вторник, 06.09.2016, 13:34 | Сообщение № 4
Группа: Пользователи
Ранг: Новичок
Сообщений: 18
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
buchlotnik, для моих познаний - сильно-ниже-среднего это не просто ТЯЖЕЛОВАСТЕНЬКО, а всё равно что попытка расшифровать секретный код. По честному пытался сутки - мозг чуть не закипел. Спасибо, в любом случае!!! Продолжу попытки понять и осмыслить.
И опять таки хотелось бы более оперативный способ - на пример как предложенный Ув. Boroda.

_Boroda_, Очень-очень похоже на то что нужно....... "несколько диапазонов консолидации" - это ведь с помощью мастера сводных таблиц? На работе 2016 - там вместо этого Мастера можно поставить галку "анализ нескольких таблиц" - с её помощью что ли? ...... Если до, то киньте, плз ссылкой как ей пользоваться в 16-м Excel
 
Ответить
Сообщениеbuchlotnik, для моих познаний - сильно-ниже-среднего это не просто ТЯЖЕЛОВАСТЕНЬКО, а всё равно что попытка расшифровать секретный код. По честному пытался сутки - мозг чуть не закипел. Спасибо, в любом случае!!! Продолжу попытки понять и осмыслить.
И опять таки хотелось бы более оперативный способ - на пример как предложенный Ув. Boroda.

_Boroda_, Очень-очень похоже на то что нужно....... "несколько диапазонов консолидации" - это ведь с помощью мастера сводных таблиц? На работе 2016 - там вместо этого Мастера можно поставить галку "анализ нескольких таблиц" - с её помощью что ли? ...... Если до, то киньте, плз ссылкой как ей пользоваться в 16-м Excel

Автор - Neonyc
Дата добавления - 06.09.2016 в 13:34
_Boroda_ Дата: Вторник, 06.09.2016, 13:51 | Сообщение № 5
Группа: Модераторы
Ранг: Местный житель
Сообщений: 16674
Репутация: 6479 ±
Замечаний: 0% ±

2003; 2007; 2010; 2013 RUS
Зайдите в настройку панели быстрого доступа (правой мышой на ленту - настройка ПБД) - "Команды не на ленте" и вытащите оттуда в ПБД кнопку "Мастер сводных таблиц и диаграмм"


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
СообщениеЗайдите в настройку панели быстрого доступа (правой мышой на ленту - настройка ПБД) - "Команды не на ленте" и вытащите оттуда в ПБД кнопку "Мастер сводных таблиц и диаграмм"

Автор - _Boroda_
Дата добавления - 06.09.2016 в 13:51
Neonyc Дата: Вторник, 06.09.2016, 14:59 | Сообщение № 6
Группа: Пользователи
Ранг: Новичок
Сообщений: 18
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
_Boroda_,
Вот это - ДА!!!! Мега!!!! Спасибо огроменное!!!!
Сейчас буду пробовать сделать СВОД за год.....
 
Ответить
Сообщение_Boroda_,
Вот это - ДА!!!! Мега!!!! Спасибо огроменное!!!!
Сейчас буду пробовать сделать СВОД за год.....

Автор - Neonyc
Дата добавления - 06.09.2016 в 14:59
Udik Дата: Вторник, 06.09.2016, 16:08 | Сообщение № 7
Группа: Друзья
Ранг: Старожил
Сообщений: 1588
Репутация: 192 ±
Замечаний: 0% ±

Excel 2016 х 64
еще макрос
[vba]
Код

Option Explicit

Public Sub getSpisok()
    Dim oDict, arrKey
    Dim i As Integer, j%, rowLast%
    Const outList As String = "СВОД"
    
    Set oDict = CreateObject("Scripting.Dictionary")
    oDict.CompareMode = 1
    For i = 1 To Worksheets.Count
        If Worksheets(i).Name <> outList Then
            With Worksheets(i)
                rowLast = .Cells(Rows.Count, 1).End(xlUp).Row
                For j = 1 To rowLast
                    If .Cells(j, 1).Value <> "" Then
                        If Not oDict.exists(.Cells(j, 1).Value) Then
                            oDict(.Cells(j, 1).Value) = 1
                        Else
                            oDict(.Cells(j, 1).Value) = oDict(.Cells(j, 1).Value) + 1 'количество повторов
                        End If
                    End If
                Next j
            End With
        End If
    Next i
    arrKey = oDict.keys
    With Worksheets(outList)
        .Cells(1, 1).Select
        .Cells.Clear
        .Cells(1, 1).Resize(oDict.Count) = Application.Transpose(oDict.keys)
        .Cells(1, 2).Resize(oDict.Count) = Application.Transpose(oDict.items)
        
        .UsedRange.Select
        Call setFormat
        .Cells(1, 1).Select
    End With
End Sub

Private Sub setFormat()
'
    Selection.Borders(xlDiagonalDown).LineStyle = xlNone
    Selection.Borders(xlDiagonalUp).LineStyle = xlNone
    With Selection.Borders(xlEdgeLeft)
        .LineStyle = xlContinuous
        .ColorIndex = 0
        .TintAndShade = 0
        .Weight = xlThin
    End With
    With Selection.Borders(xlEdgeTop)
        .LineStyle = xlContinuous
        .ColorIndex = 0
        .TintAndShade = 0
        .Weight = xlThin
    End With
    With Selection.Borders(xlEdgeBottom)
        .LineStyle = xlContinuous
        .ColorIndex = 0
        .TintAndShade = 0
        .Weight = xlThin
    End With
    With Selection.Borders(xlEdgeRight)
        .LineStyle = xlContinuous
        .ColorIndex = 0
        .TintAndShade = 0
        .Weight = xlThin
    End With
    With Selection.Borders(xlInsideVertical)
        .LineStyle = xlContinuous
        .ColorIndex = 0
        .TintAndShade = 0
        .Weight = xlThin
    End With
    With Selection.Borders(xlInsideHorizontal)
        .LineStyle = xlContinuous
        .ColorIndex = 0
        .TintAndShade = 0
        .Weight = xlThin
    End With
    With Selection.Font
        .Name = "Times New Roman"
        .Size = 12
        .Strikethrough = False
        .Superscript = False
        .Subscript = False
        .OutlineFont = False
        .Shadow = False
        .Underline = xlUnderlineStyleNone
        .ColorIndex = xlAutomatic
        .TintAndShade = 0
        .ThemeFont = xlThemeFontNone
    End With
    Columns("A:A").ColumnWidth = 80
End Sub

[/vba]
К сообщению приложен файл: dictionary_.xlsm (73.3 Kb)


вот вам барабан
яд 41001231307558 wm R419131876897
udik1968@gmail.com


Сообщение отредактировал Udik - Вторник, 06.09.2016, 16:09
 
Ответить
Сообщениееще макрос
[vba]
Код

Option Explicit

Public Sub getSpisok()
    Dim oDict, arrKey
    Dim i As Integer, j%, rowLast%
    Const outList As String = "СВОД"
    
    Set oDict = CreateObject("Scripting.Dictionary")
    oDict.CompareMode = 1
    For i = 1 To Worksheets.Count
        If Worksheets(i).Name <> outList Then
            With Worksheets(i)
                rowLast = .Cells(Rows.Count, 1).End(xlUp).Row
                For j = 1 To rowLast
                    If .Cells(j, 1).Value <> "" Then
                        If Not oDict.exists(.Cells(j, 1).Value) Then
                            oDict(.Cells(j, 1).Value) = 1
                        Else
                            oDict(.Cells(j, 1).Value) = oDict(.Cells(j, 1).Value) + 1 'количество повторов
                        End If
                    End If
                Next j
            End With
        End If
    Next i
    arrKey = oDict.keys
    With Worksheets(outList)
        .Cells(1, 1).Select
        .Cells.Clear
        .Cells(1, 1).Resize(oDict.Count) = Application.Transpose(oDict.keys)
        .Cells(1, 2).Resize(oDict.Count) = Application.Transpose(oDict.items)
        
        .UsedRange.Select
        Call setFormat
        .Cells(1, 1).Select
    End With
End Sub

Private Sub setFormat()
'
    Selection.Borders(xlDiagonalDown).LineStyle = xlNone
    Selection.Borders(xlDiagonalUp).LineStyle = xlNone
    With Selection.Borders(xlEdgeLeft)
        .LineStyle = xlContinuous
        .ColorIndex = 0
        .TintAndShade = 0
        .Weight = xlThin
    End With
    With Selection.Borders(xlEdgeTop)
        .LineStyle = xlContinuous
        .ColorIndex = 0
        .TintAndShade = 0
        .Weight = xlThin
    End With
    With Selection.Borders(xlEdgeBottom)
        .LineStyle = xlContinuous
        .ColorIndex = 0
        .TintAndShade = 0
        .Weight = xlThin
    End With
    With Selection.Borders(xlEdgeRight)
        .LineStyle = xlContinuous
        .ColorIndex = 0
        .TintAndShade = 0
        .Weight = xlThin
    End With
    With Selection.Borders(xlInsideVertical)
        .LineStyle = xlContinuous
        .ColorIndex = 0
        .TintAndShade = 0
        .Weight = xlThin
    End With
    With Selection.Borders(xlInsideHorizontal)
        .LineStyle = xlContinuous
        .ColorIndex = 0
        .TintAndShade = 0
        .Weight = xlThin
    End With
    With Selection.Font
        .Name = "Times New Roman"
        .Size = 12
        .Strikethrough = False
        .Superscript = False
        .Subscript = False
        .OutlineFont = False
        .Shadow = False
        .Underline = xlUnderlineStyleNone
        .ColorIndex = xlAutomatic
        .TintAndShade = 0
        .ThemeFont = xlThemeFontNone
    End With
    Columns("A:A").ColumnWidth = 80
End Sub

[/vba]

Автор - Udik
Дата добавления - 06.09.2016 в 16:08
Мир MS Excel » Вопросы и решения » Вопросы по Excel » Создание единого перечня (Формулы/Formulas)
  • Страница 1 из 1
  • 1
Поиск:

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