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

Вход

Регистрация

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

 

= Мир MS Excel/Структурировать данные - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Структурировать данные
ALARMus Дата: Среда, 10.10.2012, 19:37 | Сообщение № 1
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 181
Репутация: 0 ±
Замечаний: 20% ±

Не знаю как описать тему

все в приложенном файле
К сообщению приложен файл: structure_001.xlsx (13.0 Kb)
 
Ответить
СообщениеНе знаю как описать тему

все в приложенном файле

Автор - ALARMus
Дата добавления - 10.10.2012 в 19:37
Pelena Дата: Среда, 10.10.2012, 19:49 | Сообщение № 2
Группа: Админы
Ранг: Местный житель
Сообщений: 19404
Репутация: 4555 ±
Замечаний: ±

Excel 365 & Mac Excel
Например, так
Code
=СУММЕСЛИ($B$3:$B$12;B17&"*";$C$3:$C$12)


"Черт возьми, Холмс! Но как??!!"
Ю-money 41001765434816
 
Ответить
СообщениеНапример, так
Code
=СУММЕСЛИ($B$3:$B$12;B17&"*";$C$3:$C$12)

Автор - Pelena
Дата добавления - 10.10.2012 в 19:49
ALARMus Дата: Среда, 10.10.2012, 19:55 | Сообщение № 3
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 181
Репутация: 0 ±
Замечаний: 20% ±

То что написано - надо получить - этого как бы нет.
т.е. дано то, что выше (в файле) и из этого надо получить и сумму и структуру короткую к этой сумме
И список большой и изменчивый (для того чтобы каждый раз иметь список тех что в итоге отобрать)
Что то типа шаблона бы по которому отобрать.


Сообщение отредактировал ALARMus - Среда, 10.10.2012, 20:00
 
Ответить
СообщениеТо что написано - надо получить - этого как бы нет.
т.е. дано то, что выше (в файле) и из этого надо получить и сумму и структуру короткую к этой сумме
И список большой и изменчивый (для того чтобы каждый раз иметь список тех что в итоге отобрать)
Что то типа шаблона бы по которому отобрать.

Автор - ALARMus
Дата добавления - 10.10.2012 в 19:55
Serge_007 Дата: Среда, 10.10.2012, 20:06 | Сообщение № 4
Группа: Админы
Ранг: Местный житель
Сообщений: 16475
Репутация: 2749 ±
Замечаний: ±

Excel 2016
Quote (ALARMus)
этого как бы нет

Ну так добавьте smile
Code
=ИНДЕКС(ЛЕВСИМВ(B$3:B$12;ЕСЛИ(ЕОШ(ПОИСК("/";B$3:B$12;ПОИСК("/";B$3:B$12)+1));ДЛСТР(B$3:B$12);ПОИСК("/";B$3:B$12;ПОИСК("/";B$3:B$12)+1)-1));НАИМЕНЬШИЙ(ЕСЛИ(ПОИСКПОЗ(ЛЕВСИМВ(B$3:B$12;ЕСЛИ(ЕОШ(ПОИСК("/";B$3:B$12;ПОИСК("/";B$3:B$12)+1));ДЛСТР(B$3:B$12);ПОИСК("/";B$3:B$12;ПОИСК("/";B$3:B$12)+1)-1));ЛЕВСИМВ(B$3:B$12;ЕСЛИ(ЕОШ(ПОИСК("/";B$3:B$12;ПОИСК("/";B$3:B$12)+1));ДЛСТР(B$3:B$12);ПОИСК("/";B$3:B$12;ПОИСК("/";B$3:B$12)+1)-1));)=СТРОКА($1:$10);СТРОКА($1:$10));СТРОКА(A1)))
К сообщению приложен файл: ALARMus_777.xlsx (17.6 Kb)


ЮMoney:41001419691823 | WMR:126292472390
 
Ответить
Сообщение
Quote (ALARMus)
этого как бы нет

Ну так добавьте smile
Code
=ИНДЕКС(ЛЕВСИМВ(B$3:B$12;ЕСЛИ(ЕОШ(ПОИСК("/";B$3:B$12;ПОИСК("/";B$3:B$12)+1));ДЛСТР(B$3:B$12);ПОИСК("/";B$3:B$12;ПОИСК("/";B$3:B$12)+1)-1));НАИМЕНЬШИЙ(ЕСЛИ(ПОИСКПОЗ(ЛЕВСИМВ(B$3:B$12;ЕСЛИ(ЕОШ(ПОИСК("/";B$3:B$12;ПОИСК("/";B$3:B$12)+1));ДЛСТР(B$3:B$12);ПОИСК("/";B$3:B$12;ПОИСК("/";B$3:B$12)+1)-1));ЛЕВСИМВ(B$3:B$12;ЕСЛИ(ЕОШ(ПОИСК("/";B$3:B$12;ПОИСК("/";B$3:B$12)+1));ДЛСТР(B$3:B$12);ПОИСК("/";B$3:B$12;ПОИСК("/";B$3:B$12)+1)-1));)=СТРОКА($1:$10);СТРОКА($1:$10));СТРОКА(A1)))

Автор - Serge_007
Дата добавления - 10.10.2012 в 20:06
vikttur Дата: Среда, 10.10.2012, 22:59 | Сообщение № 5
Группа: Друзья
Ранг: Участник клуба
Сообщений: 2941
Репутация: 526 ±
Замечаний: 0% ±

У меня не столь монструозная формула, но работает smile
К сообщению приложен файл: structure_111.xlsx (11.8 Kb)


Сообщение отредактировал vikttur - Среда, 10.10.2012, 22:59
 
Ответить
СообщениеУ меня не столь монструозная формула, но работает smile

Автор - vikttur
Дата добавления - 10.10.2012 в 22:59
Матрёна Дата: Среда, 10.10.2012, 23:14 | Сообщение № 6
Группа: Проверенные
Ранг: Обитатель
Сообщений: 398
Репутация: 40 ±
Замечаний: 0% ±

*
К сообщению приложен файл: STR.xls (26.5 Kb)
 
Ответить
Сообщение*

Автор - Матрёна
Дата добавления - 10.10.2012 в 23:14
Hugo Дата: Среда, 10.10.2012, 23:55 | Сообщение № 7
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3690
Репутация: 790 ±
Замечаний: 0% ±

365
Руками и макросами годится?
Сперва бьём текст по столбцам, отрезая лишние символы, получаем
[vba]
Code
...
A/B    664
A/F    464
...
[/vba]
Хотя если влезть в код - то можно ненужное отрезать кодом прямо в процессе.
Далее эти два полученных столбца скармливаем приложенному макросу - получаем
[vba]
Code
A/B    835    4    55|22|664|94
A/F    1386    4    464|94|364|464
A/R    627    2    616|11
[/vba]
Вывод лишних результатов можно отключить.
А может и не нужно отключать - у Вас ошибку нашёл:
[vba]
Code
A/F    1386    464+364+464
[/vba]
К сообщению приложен файл: UniqSummUnivers.xls (40.5 Kb)


webmoney: E265281470651 Z422237915069
USDT TRC20: TN8XeEF17o5KPBD9pNwYzNyruycuAc2mVD
 
Ответить
СообщениеРуками и макросами годится?
Сперва бьём текст по столбцам, отрезая лишние символы, получаем
[vba]
Code
...
A/B    664
A/F    464
...
[/vba]
Хотя если влезть в код - то можно ненужное отрезать кодом прямо в процессе.
Далее эти два полученных столбца скармливаем приложенному макросу - получаем
[vba]
Code
A/B    835    4    55|22|664|94
A/F    1386    4    464|94|364|464
A/R    627    2    616|11
[/vba]
Вывод лишних результатов можно отключить.
А может и не нужно отключать - у Вас ошибку нашёл:
[vba]
Code
A/F    1386    464+364+464
[/vba]

Автор - Hugo
Дата добавления - 10.10.2012 в 23:55
ALARMus Дата: Четверг, 11.10.2012, 01:37 | Сообщение № 8
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 181
Репутация: 0 ±
Замечаний: 20% ±

Quote (Матрёна)
*

Интересно, спасибо, но A, B, C, D,... это лишь обозначение, говорящее об одинаковости значения, а сами же значения имеют различные длины и символы
 
Ответить
Сообщение
Quote (Матрёна)
*

Интересно, спасибо, но A, B, C, D,... это лишь обозначение, говорящее об одинаковости значения, а сами же значения имеют различные длины и символы

Автор - ALARMus
Дата добавления - 11.10.2012 в 01:37
Гость Дата: Четверг, 11.10.2012, 02:05 | Сообщение № 9
Группа: Гости
Quote (ALARMus)
Интересно, спасибо, но A, B, C, D,... это лишь обозначение, говорящее об одинаковости значения, а сами же значения имеют различные длины и символы


В таком разе, давайте небольшой "кусок" реальной инфо.
Алгоритм "пристроим" к реальной инфо.
Обратите внимание, все HELPеры всегда просят о небольшой, но реальной инфо.
Это позволяет более качественно оказать помощь.
 
Ответить
Сообщение
Quote (ALARMus)
Интересно, спасибо, но A, B, C, D,... это лишь обозначение, говорящее об одинаковости значения, а сами же значения имеют различные длины и символы


В таком разе, давайте небольшой "кусок" реальной инфо.
Алгоритм "пристроим" к реальной инфо.
Обратите внимание, все HELPеры всегда просят о небольшой, но реальной инфо.
Это позволяет более качественно оказать помощь.

Автор - Гость
Дата добавления - 11.10.2012 в 02:05
Serge_007 Дата: Четверг, 11.10.2012, 09:50 | Сообщение № 10
Группа: Админы
Ранг: Местный житель
Сообщений: 16475
Репутация: 2749 ±
Замечаний: ±

Excel 2016
Quote (vikttur)
У меня не столь монструозная формула, но работает

Я делал с учётом того что
Quote (ALARMus)
A, B, C, D,... это лишь обозначение, говорящее об одинаковости значения, а сами же значения имеют различные длины и символы


ЮMoney:41001419691823 | WMR:126292472390
 
Ответить
Сообщение
Quote (vikttur)
У меня не столь монструозная формула, но работает

Я делал с учётом того что
Quote (ALARMus)
A, B, C, D,... это лишь обозначение, говорящее об одинаковости значения, а сами же значения имеют различные длины и символы

Автор - Serge_007
Дата добавления - 11.10.2012 в 09:50
Hugo Дата: Четверг, 11.10.2012, 10:01 | Сообщение № 11
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3690
Репутация: 790 ±
Замечаний: 0% ±

365
Мой способ сработает и с разными данными/длинами - лишь бы был разделитель, по которому можно разбить по столбцам, чтоб выкинуть лишнее.
Если с этим проблемы - придётся править макрос, придумывая алгоритм для этого действия. Но в общем обычно сделать реально.
Ну и так нет зависимости от количества данных - хоть "мильон", на котором повесятся формулы.


webmoney: E265281470651 Z422237915069
USDT TRC20: TN8XeEF17o5KPBD9pNwYzNyruycuAc2mVD
 
Ответить
СообщениеМой способ сработает и с разными данными/длинами - лишь бы был разделитель, по которому можно разбить по столбцам, чтоб выкинуть лишнее.
Если с этим проблемы - придётся править макрос, придумывая алгоритм для этого действия. Но в общем обычно сделать реально.
Ну и так нет зависимости от количества данных - хоть "мильон", на котором повесятся формулы.

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

Excel 2016
Quote (Hugo)
так нет зависимости от количества данных - хоть "мильон", на котором повесятся формулы

Та формула массива, что я предложил, "подвесит" Excel и на гораздо меньших объёмах smile

Однако используя простую формулу в доп. столбце и сводную можно и мильёны мгновенно обрабатывать wink
К сообщению приложен файл: ALARMus_7777.xlsx (20.3 Kb)


ЮMoney:41001419691823 | WMR:126292472390
 
Ответить
Сообщение
Quote (Hugo)
так нет зависимости от количества данных - хоть "мильон", на котором повесятся формулы

Та формула массива, что я предложил, "подвесит" Excel и на гораздо меньших объёмах smile

Однако используя простую формулу в доп. столбце и сводную можно и мильёны мгновенно обрабатывать wink

Автор - Serge_007
Дата добавления - 11.10.2012 в 10:20
ALARMus Дата: Четверг, 11.10.2012, 10:46 | Сообщение № 13
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 181
Репутация: 0 ±
Замечаний: 20% ±

Спасибо сделал отчет, одно но.
помимо 2-х уровней надо чтобы и первый уровень был в отчете (применяя теже обозначения А)

Понятно что
=СУММЕСЛИ($B$3:$B$12;B17&"*";$C$3:$C$12)
исправить на
=СУММЕСЛИ($B$3:$B$12;B17;$C$3:$C$12)
Для одной первой строки. А если что то универсальное smile

Хотя не обязательно.


Сообщение отредактировал ALARMus - Четверг, 11.10.2012, 11:19
 
Ответить
СообщениеСпасибо сделал отчет, одно но.
помимо 2-х уровней надо чтобы и первый уровень был в отчете (применяя теже обозначения А)

Понятно что
=СУММЕСЛИ($B$3:$B$12;B17&"*";$C$3:$C$12)
исправить на
=СУММЕСЛИ($B$3:$B$12;B17;$C$3:$C$12)
Для одной первой строки. А если что то универсальное smile

Хотя не обязательно.

Автор - ALARMus
Дата добавления - 11.10.2012 в 10:46
vikttur Дата: Четверг, 11.10.2012, 11:32 | Сообщение № 14
Группа: Друзья
Ранг: Участник клуба
Сообщений: 2941
Репутация: 526 ±
Замечаний: 0% ±

Quote (ALARMus)
помимо 2-х уровней надо чтобы и первый уровень был в отчете

Сейчас нарисуется решение, а Вам после него захочется по трем уровням... определитесь окончательно.

Рассмотрите формулу. Добавьте еще доп. столбец для счета первых уровней...


Сообщение отредактировал vikttur - Четверг, 11.10.2012, 11:35
 
Ответить
Сообщение
Quote (ALARMus)
помимо 2-х уровней надо чтобы и первый уровень был в отчете

Сейчас нарисуется решение, а Вам после него захочется по трем уровням... определитесь окончательно.

Рассмотрите формулу. Добавьте еще доп. столбец для счета первых уровней...

Автор - vikttur
Дата добавления - 11.10.2012 в 11:32
  • Страница 1 из 1
  • 1
Поиск:

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