Поиск  Пользователи  Правила 
Закрыть
Логин:
Пароль:
Забыли свой пароль?
Регистрация
Войти
 
Страницы: 1
RSS
Транспонирование таблицы, Таблица одной строкой
 

Доброго времени, Форумчане! Задача, которую я никак не могу решить заключается так: на листе А - результат, созданный программой, и её надо преобразовать так как на листе В. Как не пробовал у меня не получается. Может кто-нибудь даст мне подсказку(формулы) как решить задачу.

Изменено: Марат Башаров - 10 Мар 2018 21:51:05 (Замечание БМВ)
 
Сразу три подсказки.
1. Дайте нормальное название теме, Предложите, модератор заменит
2. PivotTable
3. Список уникальных и SUMIFFS в помощь.
 

1.Название темы - что тут не нормального? Если не нормально, модератор замените.
2.А по-другому никак нельзя составить формулу
3.Если бы я знал, разве сюда написал бы?

 
Тему можно назвать "Транспонирование таблицы".
А задача решается просто Excel 2010+ и формулой
Код
=IFERROR(AGGREGATE(15;6;A!$D$3:$J$400/(A!$A$3:$A$400=$A3)/(A!$C$3:$C$400=B$1)/(A!$D$2:$J$2=B$2);1);"")
 
У меня Excel 2003, и я не смог распознать ваши формулы. Можете показать в формате Excel 2003?
 
jakim, Когда я вижу Ваш пост то на 99% там будет AGGREGATE :-)

Марат Башаров, Чем не подходит сводная?
Изменено: БМВ - 10 Мар 2018 21:15:15
 
Цитата
Марат Башаров написал:
Если не нормально, модератор замените.
Ага, щаз. Особенно Малыш у нас любит темы менять. Да и Кот тоже с характером... как и все коты.
Изменено: Bema - 10 Мар 2018 21:20:23
Если в мире всё бессмысленно, — сказала Алиса, — что мешает выдумать какой-нибудь смысл? ©Льюис Кэрролл
 
Bema, работа у них такая - менять :-(, а вот придумывать  ..........
 
Цитата
БМВ написал:
а вот придумывать  ...
Я об этом и подумал. Кот кстати на форуме ;)  
Если в мире всё бессмысленно, — сказала Алиса, — что мешает выдумать какой-нибудь смысл? ©Льюис Кэрролл
 
Цитата
Марат Башаров написал:
Название темы - что тут не нормального? Если не нормально, модератор замените
А Вы считаете, что Ваш вариант информативен? Модераторы поменяют (уже поменял), но адекватное название темы - это Ваша забота.
 
Цитата
Bema написал:
Кот кстати на форуме
Он всегда тут. Даже когда его нет )
 
Цитата
Юрий М написал:
Он всегда тут. Даже когда его нет )
Я так и думал... точнее знал... короче, виноват, исправлюсь ;).
Если в мире всё бессмысленно, — сказала Алиса, — что мешает выдумать какой-нибудь смысл? ©Льюис Кэрролл
 
БМВ написал:
Цитата
Чем не подходит сводная?
В моей практике не приходилось работать сводными таблицами. Это для меня новое. Сейчас буду разбираться, что и как, и почему.
Всем участникам данной темы выражаю благодарность.
 
БМВ Можете написать как сделать сводную таблицу, у меня пока не получается?
 
Цитата
Марат Башаров написал: БМВ Можете написать
Можно я за него? См. "Приемы".
"Ctrl+S" - достойное завершение ваших гениальных мыслей!.. ;)
 
Смотрите решение на Lapas1 с формулой
Код
=IFERROR(INDEX(A!$D$3:$J$378;MAX(INDEX(ROW($3:$378)*(A!$A$3:$A$378=$A3)*(A!$C$3:$C$378=B$1);0))-2;MATCH(B$2;A!$D$2:$J$2;0));"")
 
Цитата
Марат Башаров написал:
В моей практике не приходилось работать сводными таблицами. Это для меня новое.
Без Сводных таблиц в Excel: это - "как без рук"!  :D
Вас какие Итоги интересуют: по OKPO в разрезе RAZDEL и NS?
 
Мотя,Меня интересуют Итоги по ОКПО - RAZDEL, NS и g1,..по g7
 
jakim,У меня Excel 2003 и вот такой вид получается:
 
См.
 
Z,Спасибо. Именно это я и смотрю и пробую
 
Просто интересно а №6 там просто так был с архивом? :-)
 
Если результат нужен именно точно такой, как в первом примере (а не как показано формулами или сводными) - то можно делать на словарях: два словаря чтоб организовать шапки (в один словарь каждому ns собрать его g, и словарь или коллекция для уникальных okpo), второй для данных (ключ okpo|ns|g) - двумя циклами по исходнику собрали данные, затем двумя заходами сформировали шапки, заполнили данными.
Делать неинтересно, делал уже тут много - рутина одна...
 
Прежний вариант был выполнен в Excel 2010.
См. вариант - строго выполнен в Excel 2003 (лист S).
 
Тгда предлагаю вариант без функции IFERROR с условным форматированием по скрытию ошибок.
Код
=INDEX(A!$D$3:$J$3780;MAX(INDEX(ROW($3:$3780)*(A!$A$3:$A$3780=$A3)*(A!$C$3:$C$3780=B$1);0))-2;MATCH(B$2;A!$D$2:$J$2;0))
Изменено: jakim - 11 Мар 2018 16:53:21
 
jakim,№25-это и есть ответ.БМВ, №6-тоже сделано правильно и красиво, но я так и не понял как это делается. Буду заниматься над своднами таблицами.
Тема решена. Всем участникам этой темы выражаю свою благодарность.
Страницы: 1
Читают тему (гостей: 1)