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

Вход

Регистрация

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

 

= Мир MS Excel/Отсортировать и сгруппировать список продукции (стеклопакет) - Мир MS Excel

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

Excel 2010
Ребят, привет!
Никогда бы не подумал, что буду на форуме по EXCEL регистрироваться, но вот ведь как!!!!!
Помогите, пожалуйста, задачку решить:
- Работаю на стекольном производстве. В числе прочих делаем и стекло пакеты из разного стекла, количеством камер и шириной рамки. (ниже привел пример – в нем красным выделены рамки разделяющие камеры, их количество и ширина.)
- Список состоит из 2000 – 5000 строк (номенклатура выпускаемой продукции).
- Моет быть есть какая то мулечка (обработка), которая позволит сгруппировать это все по 2-м признакам: количеству камер и ширине рамки?
Например (из того списка что привел):
• Однокамерный, рамка 14
• Двухкамерный, рамки 10-10
• Однокамерный, рамка 24
• Однокамерный, рамка 20
• Двухкамерный, рамки 12-8
• Двухкамерный, рамки 8-10

Помогите не сойти с ума! ….. Заранее благодарен!
К сообщению приложен файл: 3361859.xlsx (9.7 Kb)
 
Ответить
СообщениеРебят, привет!
Никогда бы не подумал, что буду на форуме по EXCEL регистрироваться, но вот ведь как!!!!!
Помогите, пожалуйста, задачку решить:
- Работаю на стекольном производстве. В числе прочих делаем и стекло пакеты из разного стекла, количеством камер и шириной рамки. (ниже привел пример – в нем красным выделены рамки разделяющие камеры, их количество и ширина.)
- Список состоит из 2000 – 5000 строк (номенклатура выпускаемой продукции).
- Моет быть есть какая то мулечка (обработка), которая позволит сгруппировать это все по 2-м признакам: количеству камер и ширине рамки?
Например (из того списка что привел):
• Однокамерный, рамка 14
• Двухкамерный, рамки 10-10
• Однокамерный, рамка 24
• Однокамерный, рамка 20
• Двухкамерный, рамки 12-8
• Двухкамерный, рамки 8-10

Помогите не сойти с ума! ….. Заранее благодарен!

Автор - Neonyc
Дата добавления - 12.03.2016 в 07:43
Nic70y Дата: Суббота, 12.03.2016, 07:53 | Сообщение № 2
Группа: Друзья
Ранг: Экселист
Сообщений: 8712
Репутация: 2262 ±
Замечаний: 0% ±

Excel 2010
если правильно понял - вариант
Код
=ЕСЛИ(ЕЧИСЛО(ПОИСК("-*-";ПСТР(A23;ПОИСК("-*-";A23)+1;99)));2;1)
К сообщению приложен файл: 5419311.xlsx (11.1 Kb)


ЮMoney 41001841029809
 
Ответить
Сообщениеесли правильно понял - вариант
Код
=ЕСЛИ(ЕЧИСЛО(ПОИСК("-*-";ПСТР(A23;ПОИСК("-*-";A23)+1;99)));2;1)

Автор - Nic70y
Дата добавления - 12.03.2016 в 07:53
Neonyc Дата: Суббота, 12.03.2016, 09:07 | Сообщение № 3
Группа: Пользователи
Ранг: Новичок
Сообщений: 18
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Nic70y, СПАСИБО огромное за оперативность!!!!! Просто реактивная!!!!!
В принципе направление, видимо, такое, но немного в другом.... (в примере попытался пояснить)
М.б.
как в варианте № 1 - сгруппировать по общему признаку чтобы потом производить действия с массивом
либо,
как в варианте № 2 - можно сгруппировать и суммировать данные по строкам.
Если ли какой то не слишком сложный вариант решения?
Задачу поставили оперативную и решения ждут "вчера"
К макросам, к сожалению никогда не прибегал......
К сообщению приложен файл: __-1.xlsx (14.3 Kb)
 
Ответить
СообщениеNic70y, СПАСИБО огромное за оперативность!!!!! Просто реактивная!!!!!
В принципе направление, видимо, такое, но немного в другом.... (в примере попытался пояснить)
М.б.
как в варианте № 1 - сгруппировать по общему признаку чтобы потом производить действия с массивом
либо,
как в варианте № 2 - можно сгруппировать и суммировать данные по строкам.
Если ли какой то не слишком сложный вариант решения?
Задачу поставили оперативную и решения ждут "вчера"
К макросам, к сожалению никогда не прибегал......

Автор - Neonyc
Дата добавления - 12.03.2016 в 09:07
buchlotnik Дата: Суббота, 12.03.2016, 09:41 | Сообщение № 4
Группа: Заблокированные
Ранг: Участник клуба
Сообщений: 3442
Репутация: 929 ±
Замечаний: 20% ±

2010, 2013, 2016 RUS / ENG
Цитата
не слишком сложный вариант решения
ну как сказать B) , по варианту 1 так вышло
Код
=(ДЛСТР(A21)-ДЛСТР(ПОДСТАВИТЬ(A21;"-";"")))/2&"-камерный, рамка "&СЖПРОБЕЛЫ(ПСТР(ПОДСТАВИТЬ(ПОДСТАВИТЬ(A21;"Ar";"");"-";ПОВТОР(" ";99));99;99))&ЕСЛИ((ДЛСТР(A21)-ДЛСТР(ПОДСТАВИТЬ(A21;"-";"")))>2;"/"&СЖПРОБЕЛЫ(ПСТР(ПОДСТАВИТЬ(ПОДСТАВИТЬ(A21;"Ar";"");"-";ПОВТОР(" ";99));299;99));"")

и потом используя вариант 1 делаем сводную таблицу = вариант 2
К сообщению приложен файл: 1-1-1-.xlsx (19.0 Kb)


Сообщение отредактировал buchlotnik - Суббота, 12.03.2016, 10:03
 
Ответить
Сообщение
Цитата
не слишком сложный вариант решения
ну как сказать B) , по варианту 1 так вышло
Код
=(ДЛСТР(A21)-ДЛСТР(ПОДСТАВИТЬ(A21;"-";"")))/2&"-камерный, рамка "&СЖПРОБЕЛЫ(ПСТР(ПОДСТАВИТЬ(ПОДСТАВИТЬ(A21;"Ar";"");"-";ПОВТОР(" ";99));99;99))&ЕСЛИ((ДЛСТР(A21)-ДЛСТР(ПОДСТАВИТЬ(A21;"-";"")))>2;"/"&СЖПРОБЕЛЫ(ПСТР(ПОДСТАВИТЬ(ПОДСТАВИТЬ(A21;"Ar";"");"-";ПОВТОР(" ";99));299;99));"")

и потом используя вариант 1 делаем сводную таблицу = вариант 2

Автор - buchlotnik
Дата добавления - 12.03.2016 в 09:41
Nic70y Дата: Суббота, 12.03.2016, 11:28 | Сообщение № 5
Группа: Друзья
Ранг: Экселист
Сообщений: 8712
Репутация: 2262 ±
Замечаний: 0% ±

Excel 2010
еще вариант, если числа одно или двухзначные:
Код
=ЕСЛИ(ЕЧИСЛО(ПОИСК("-*-";ПСТР(A21;ПОИСК("-*-";A21)+1;99)));2;1)&"-камерный, рамка "&ПОДСТАВИТЬ(ПСТР(A21;ПОИСК("-*-";A21)+1;2);"-";)&ЕСЛИОШИБКА("/"&ПОДСТАВИТЬ(ПСТР(A21;ПОИСК("\";ПОДСТАВИТЬ(A21;"-";"\";МАКС(ДЛСТР(A21)-ДЛСТР(ПОДСТАВИТЬ(A21;"-";))-1;3)))+1;2);"-";);"")
К сообщению приложен файл: -1.xlsx (14.5 Kb)


ЮMoney 41001841029809
 
Ответить
Сообщениееще вариант, если числа одно или двухзначные:
Код
=ЕСЛИ(ЕЧИСЛО(ПОИСК("-*-";ПСТР(A21;ПОИСК("-*-";A21)+1;99)));2;1)&"-камерный, рамка "&ПОДСТАВИТЬ(ПСТР(A21;ПОИСК("-*-";A21)+1;2);"-";)&ЕСЛИОШИБКА("/"&ПОДСТАВИТЬ(ПСТР(A21;ПОИСК("\";ПОДСТАВИТЬ(A21;"-";"\";МАКС(ДЛСТР(A21)-ДЛСТР(ПОДСТАВИТЬ(A21;"-";))-1;3)))+1;2);"-";);"")

Автор - Nic70y
Дата добавления - 12.03.2016 в 11:28
Neonyc Дата: Суббота, 12.03.2016, 13:19 | Сообщение № 6
Группа: Пользователи
Ранг: Новичок
Сообщений: 18
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Nic70y, buchlotnik, низкий поклон!
Буду пробовать сейчас воплотить в жизнь, т.к. данная группировка - только первый этап анализа, а список пакетов реально пугающих размеров.

Киньте, пожалуйста, ссылку где можно почитать про организацию и работу со "сводными таблицами".
 
Ответить
СообщениеNic70y, buchlotnik, низкий поклон!
Буду пробовать сейчас воплотить в жизнь, т.к. данная группировка - только первый этап анализа, а список пакетов реально пугающих размеров.

Киньте, пожалуйста, ссылку где можно почитать про организацию и работу со "сводными таблицами".

Автор - Neonyc
Дата добавления - 12.03.2016 в 13:19
buchlotnik Дата: Суббота, 12.03.2016, 13:28 | Сообщение № 7
Группа: Заблокированные
Ранг: Участник клуба
Сообщений: 3442
Репутация: 929 ±
Замечаний: 20% ±

2010, 2013, 2016 RUS / ENG
Да хотя бы на официальном сайте поддержки сводные, а так - я бы рекомендовал Уокенбаха (Библия Excel) и Билла Джелена (Сводные таблицы в Excel) - по крайней мере я по ним учился B)


Сообщение отредактировал buchlotnik - Суббота, 12.03.2016, 13:34
 
Ответить
СообщениеДа хотя бы на официальном сайте поддержки сводные, а так - я бы рекомендовал Уокенбаха (Библия Excel) и Билла Джелена (Сводные таблицы в Excel) - по крайней мере я по ним учился B)

Автор - buchlotnik
Дата добавления - 12.03.2016 в 13:28
МВТ Дата: Суббота, 12.03.2016, 14:00 | Сообщение № 8
Группа: Проверенные
Ранг: Обитатель
Сообщений: 476
Репутация: 137 ±
Замечаний: 0% ±

Excel 2007
Я бы посоветовал создать отдельные столбцы для количества камер и размера рамок и уже по ним проводить сортировку, фильтрацию и т.п. Разнести данные можно макросом:
[vba]
Код
Const StartRow = 23 'Строка, с которой начинаются данные в Вашей таблице
Sub tt()
    Dim arr(), arr1(), I As Long, J As Long, Obj As Object, Rng As Range
    Set Rng = Range("A" & StartRow & ":A" & Cells(Rows.Count, 1).End(xlUp).Row)
    arr = Rng.Value
    ReDim arr1(1 To UBound(arr), 1 To 3)
    With CreateObject("VBScript.RegExp")
        .Global = True
        .Pattern = "-(\d{2}).{0,2}-"
        For I = 1 To UBound(arr)
            Set Obj = .Execute(arr(I, 1))
            If Obj.Count > 0 Then
                arr1(I, 1) = Obj.Count
                For J = 0 To Obj.Count - 1
                    arr1(I, J + 2) = Val(Obj.Item(J).Submatches(0))
                Next
            End If
        Next
    Rng.Offset(0, 7).Resize(Rng.Rows.Count, 3).Value = arr1
    End With
End Sub
[/vba]
 
Ответить
СообщениеЯ бы посоветовал создать отдельные столбцы для количества камер и размера рамок и уже по ним проводить сортировку, фильтрацию и т.п. Разнести данные можно макросом:
[vba]
Код
Const StartRow = 23 'Строка, с которой начинаются данные в Вашей таблице
Sub tt()
    Dim arr(), arr1(), I As Long, J As Long, Obj As Object, Rng As Range
    Set Rng = Range("A" & StartRow & ":A" & Cells(Rows.Count, 1).End(xlUp).Row)
    arr = Rng.Value
    ReDim arr1(1 To UBound(arr), 1 To 3)
    With CreateObject("VBScript.RegExp")
        .Global = True
        .Pattern = "-(\d{2}).{0,2}-"
        For I = 1 To UBound(arr)
            Set Obj = .Execute(arr(I, 1))
            If Obj.Count > 0 Then
                arr1(I, 1) = Obj.Count
                For J = 0 To Obj.Count - 1
                    arr1(I, J + 2) = Val(Obj.Item(J).Submatches(0))
                Next
            End If
        Next
    Rng.Offset(0, 7).Resize(Rng.Rows.Count, 3).Value = arr1
    End With
End Sub
[/vba]

Автор - МВТ
Дата добавления - 12.03.2016 в 14:00
AlexMen Дата: Суббота, 12.03.2016, 14:42 | Сообщение № 9
Группа: Заблокированные
Ранг: Участник
Сообщений: 66
Репутация: 4 ±
Замечаний: 100% ±

Excel 2010
как то не понял определение признака количество секций и рамок
- доп колонка где отражается кол-во секций/толщина, формулой или вручную (1,2,3)
- фильтра по нему (сортировка тоже работает)
- склеивание итоговый вид в колонке (если есть необходимость) (1-камерный, рамка 14)

Лучше всего задать унифицированный синтаксис для названия, или от обратного заносить параметры, а название будет само формулой собираться из характеристик


lebensvoll отпишите на почту, а то меня _Boroda_ забанил, я Вам функцию сброшу
 
Ответить
Сообщениекак то не понял определение признака количество секций и рамок
- доп колонка где отражается кол-во секций/толщина, формулой или вручную (1,2,3)
- фильтра по нему (сортировка тоже работает)
- склеивание итоговый вид в колонке (если есть необходимость) (1-камерный, рамка 14)

Лучше всего задать унифицированный синтаксис для названия, или от обратного заносить параметры, а название будет само формулой собираться из характеристик

Автор - AlexMen
Дата добавления - 12.03.2016 в 14:42
buchlotnik Дата: Суббота, 12.03.2016, 15:51 | Сообщение № 10
Группа: Заблокированные
Ранг: Участник клуба
Сообщений: 3442
Репутация: 929 ±
Замечаний: 20% ±

2010, 2013, 2016 RUS / ENG
МВТ, толщина рамки не обязательно из двух цифр - у вас не везде корректно отрабатывает, сам в регулярках не силён, потому интересно - это можно допилить?

Хотя нет - сам допилил B) [vba]
Код
.Pattern = "-(\d+).{0,2}-"
[/vba]


Сообщение отредактировал buchlotnik - Суббота, 12.03.2016, 15:57
 
Ответить
СообщениеМВТ, толщина рамки не обязательно из двух цифр - у вас не везде корректно отрабатывает, сам в регулярках не силён, потому интересно - это можно допилить?

Хотя нет - сам допилил B) [vba]
Код
.Pattern = "-(\d+).{0,2}-"
[/vba]

Автор - buchlotnik
Дата добавления - 12.03.2016 в 15:51
МВТ Дата: Суббота, 12.03.2016, 16:16 | Сообщение № 11
Группа: Проверенные
Ранг: Обитатель
Сообщений: 476
Репутация: 137 ±
Замечаний: 0% ±

Excel 2007
buchlotnik, спасибо, не заметил, когда читал пример. Если цифр гарантированно 1 или 2, возможен такой вариант
[vba]
Код
.Pattern = "-(\d{1,2}).{0,2}-"
[/vba]
 
Ответить
Сообщениеbuchlotnik, спасибо, не заметил, когда читал пример. Если цифр гарантированно 1 или 2, возможен такой вариант
[vba]
Код
.Pattern = "-(\d{1,2}).{0,2}-"
[/vba]

Автор - МВТ
Дата добавления - 12.03.2016 в 16:16
Neonyc Дата: Пятница, 18.03.2016, 08:30 | Сообщение № 12
Группа: Пользователи
Ранг: Новичок
Сообщений: 18
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Приветствую, уважаемых Форумчан!
Основные параметры по расходу материалов на стеклопакет (СП) посчитал, используя вариант Ув. buchlotnik - из поста №4.
Задачу добавили в плане расчета расхода моллекулярного сита (МС).
База для его расчета = 2 длины самых длинных рамки минус 0,1 м на одну камеру СП. (для 2-х камерного СП соответственно число увеличивается в 2 раза)
Предполагаю, что самым "рабоче-крестьянским" и безболезненным вариантом будет добавление столбца для расчета в таблицу содержащую исходные данные. (в примере её выделил цветом).
Проблема в том, что в СП с пленкой нормы расхода МС другие, т.е. нужно в условия отбора (камерность и ширина рамки) добавить наличие пленки.
Это собственно и не получается!!!!
Видимо неправильно понимаю правило написания самой формулы.
Возможно ли как то добавить в неё это условие?
Наличие пленки отражается в формуле СП символами "пл".
К сообщению приложен файл: ____..xlsx (26.2 Kb)
 
Ответить
СообщениеПриветствую, уважаемых Форумчан!
Основные параметры по расходу материалов на стеклопакет (СП) посчитал, используя вариант Ув. buchlotnik - из поста №4.
Задачу добавили в плане расчета расхода моллекулярного сита (МС).
База для его расчета = 2 длины самых длинных рамки минус 0,1 м на одну камеру СП. (для 2-х камерного СП соответственно число увеличивается в 2 раза)
Предполагаю, что самым "рабоче-крестьянским" и безболезненным вариантом будет добавление столбца для расчета в таблицу содержащую исходные данные. (в примере её выделил цветом).
Проблема в том, что в СП с пленкой нормы расхода МС другие, т.е. нужно в условия отбора (камерность и ширина рамки) добавить наличие пленки.
Это собственно и не получается!!!!
Видимо неправильно понимаю правило написания самой формулы.
Возможно ли как то добавить в неё это условие?
Наличие пленки отражается в формуле СП символами "пл".

Автор - Neonyc
Дата добавления - 18.03.2016 в 08:30
buchlotnik Дата: Пятница, 18.03.2016, 20:14 | Сообщение № 13
Группа: Заблокированные
Ранг: Участник клуба
Сообщений: 3442
Репутация: 929 ±
Замечаний: 20% ±

2010, 2013, 2016 RUS / ENG
как-то так
Код
=(ДЛСТР(A2)-ДЛСТР(ПОДСТАВИТЬ(A2;"-";"")))/2&"-камерный, рамка "&СЖПРОБЕЛЫ(ПСТР(ПОДСТАВИТЬ(ПОДСТАВИТЬ(A2;"Ar";"");"-";ПОВТОР(" ";99));99;99))&ЕСЛИ((ДЛСТР(A2)-ДЛСТР(ПОДСТАВИТЬ(A2;"-";"")))>2;"/"&СЖПРОБЕЛЫ(ПСТР(ПОДСТАВИТЬ(ПОДСТАВИТЬ(A2;"Ar";"");"-";ПОВТОР(" ";99));299;99));"")&ЕСЛИ(ЕОШИБКА(ПОИСК("пл";A2));"";", плёнка")
К сообщению приложен файл: -1-.xlsx (24.4 Kb)


Сообщение отредактировал buchlotnik - Пятница, 18.03.2016, 20:14
 
Ответить
Сообщениекак-то так
Код
=(ДЛСТР(A2)-ДЛСТР(ПОДСТАВИТЬ(A2;"-";"")))/2&"-камерный, рамка "&СЖПРОБЕЛЫ(ПСТР(ПОДСТАВИТЬ(ПОДСТАВИТЬ(A2;"Ar";"");"-";ПОВТОР(" ";99));99;99))&ЕСЛИ((ДЛСТР(A2)-ДЛСТР(ПОДСТАВИТЬ(A2;"-";"")))>2;"/"&СЖПРОБЕЛЫ(ПСТР(ПОДСТАВИТЬ(ПОДСТАВИТЬ(A2;"Ar";"");"-";ПОВТОР(" ";99));299;99));"")&ЕСЛИ(ЕОШИБКА(ПОИСК("пл";A2));"";", плёнка")

Автор - buchlotnik
Дата добавления - 18.03.2016 в 20:14
Мир MS Excel » Вопросы и решения » Вопросы по Excel » Отсортировать и сгруппировать список продукции (стеклопакет) (Формулы/Formulas)
  • Страница 1 из 1
  • 1
Поиск:

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