Страницы: 1
RSS
Изменения формата таблицы с частичной консолидацией данных (VBA)
 
Всем привет.
Есть приличных размеров таблица, в которой занесены наименования товаров, дата покупки, количество и сумма.
Необходимо ее видоизменить, чтоб даты были не в строках, в столбцах.
Пример прилагаю.

Может кто подскажет как это реализовать, у самостоятельно ничего не вышло :(
Изменено: Ivan.kh - 07.03.2015 00:15:05
 
Ivan.kh, кажется мне, что одним линком могу вам помочь - код от Hugo (пост4) - ну а с алгоритмом вы и сами справитесь... я никогда не сомневаюсь в вас :) (после того как вы мне однажды подсказали, что такое ln)...
как вариант: наверно, извлечь уникальные можно в 1-й столбец/строку -> потом код от Hugo (как под спойлером адаптированный для вашей первой таблицы... ну и для 2-й по аналогии... мне на скорую руку такая мысль пришла от Hugo... писанины, наверно, будет по коду... но может у кого найдётся вариант короче (хотя этот тоже вроде ничего)

Скрытый текст
p.s. что-то НЕ линкуются нормально ссылки (всё выкидывает на главную страницу форума) и уже не 1-й день... :( ... линк на код-оригинал - см в коде под спойлером (т к  авторские права уважаю) - ;) просто чуток откорректировала под вашу ситуацию (думаю, под последнюю строку и столбец вы выровняете сами - это уже красивости)... времени нет (sorry) - но вам Ivan.kh не ответить (хоть и в двух словах) не могу, если знаю хоть что-то... ещё раз спасибо, что когда-то вы проложили мне путь в мир excel... С уважением... Успехов
Изменено: JeyCi - 07.03.2015 10:46:26
чтобы не гадать на кофейной гуще, кто вам отвечает и после этого не совершать кучу ошибок - обратитесь к собеседнику на ВЫ - ответ на ваш вопрос получите - а остальное вас не касается (п.п.п. на форумах)
 
JeyCi, спасибо за помощь.
Завтра попытаюсь все сделать и отпишусь о результате.
 
Может подойдет сводная таблица, в которой даты в области столбцов,
товар в области строк, количество в области данных
 
А вот мне структура таблицы, которую нужно получить, жутко не нравится: с ней сложно потом работать.
 
Kuzmich, сводная к сожалению не подойдет (тоже над этим думал)
Юрий М, мне как раз для дальнейшей удобной обработки данных и нужна конечная структура :(
 
вот ещё пару мыслей (немного другая реализация):
1) код 555 (пост11)
Код
http://www.planetaexcel.ru/forum/index.php?PAGE_NAME=read&FID=1&TID=55619
- только там работа с ячейками, если переделать по подобию в массив, то может и побыстрее будет...
2) код от Максима (пост22)
Код
http://www.planetaexcel.ru/forum/index.php?PAGE_NAME=message&FID=1&TID=57222&TITLE_SEO=57222&tags=&q=%D1%83%D0%BD%D0%B8%D0%BA%D0%B0%D0%BB%D1%8C%D0%BD%D1%8B%D0%B5+jeyci&DATE_CHANGE=0&order=relevance&s=%D0%9D%D0%B0%D0%B9%D1%82%D0%B8
- пытались мы делать что-то подобное - (вместо вашего товара - наши страйки в боковую шапку, вместо ваших дат - наши контракты в верхнюю шапку) - но там свои усложнения (изначально брали с двух листов) - если урезать лишнее, то схема может подойти... только обратите внимание на структуру своих данных - все ли связки "товар-дата" уникальные? - т к ключ должен быть уникальным, иначе будет путаница (и возможно придётся плюсовать)...
3) из какого столбца брать - можно указывать через Inputbox. как писал The_Priest http://www.excel-vba.ru/chto-umeet-excel/rabota-s-dialogami/ - да и куда выкидывать - тоже можно через Inputbox указывать...
p.s. форум уже, наверно, принципиально линковать не хочет, чтобы мы не расслаблялись :oops: ещё раз sorry. что я так кратко и по-русски, а не по vba (на нём я ещё пока медленно думаю)
Изменено: JeyCi - 07.03.2015 20:21:17
чтобы не гадать на кофейной гуще, кто вам отвечает и после этого не совершать кучу ошибок - обратитесь к собеседнику на ВЫ - ответ на ваш вопрос получите - а остальное вас не касается (п.п.п. на форумах)
 
Цитата
сводная к сожалению не подойдет (тоже над этим думал)

А почему?
Посмотрите пример
 
Kuzmich, чтоб получить данные именно такого вида как мне нужно необходимо будет построить 2 сводные. Обрабатывать данные сводных таблиц не удобно (по крайней мере мне :() по этому и хотелось получить что-то вроде сводной, только средствами VBA. Но все равно огромное Вам спасибо за уделенное время.
Попытаюсь завтра что-то придумать пройдясь по ссылкам, которые любезно предоставила JeyCi
 
Пишу макрос...
 
Здравствуйте Ivan.kh. Наверно данные всегда будут только за три дня, потому что 30 дней в такой таблице просматривать не удобно. Вариант сводной можно сделать из одной таблицы, чтобы не бегать по строке от первого столбца до 31. Это можно добиться фильтром, смотреть либо "кол-во" либо "Стоим. ед" (Лист1). Или на базе сводной сделать привычную вам таблицу (Лист2). Зная конечный результат, формулы можно сменить на более подходящие. В конечном итоге вам решать, как лучше и удобнее.
 
Мой вариант. Сортировку уникальных без зазрения совести стащил у nerv
Обработка моя))
 
gling,спасибо за варианты. Данные будут за месяц (таблица не для просмотра мне нужна, а для расчетов). Табл. формулами я тоже делал, просто строк в исходной табл. очень много и формулы пересчитываются вечность.
Юрий М, спасибо Вам огромное, идеально + зачетное название файла.

Всем спасибо за помощь.
Страницы: 1
Наверх