Страницы: 1
RSS
"Консолидация" данных
 
Всем добрый день. Если кому не трудно, прошу помочь: Есть несколько счетов, в которых повторяются изделия в производство. В приложенном примере при помощи транспонирования и формул преобразовал в горизонтальный ряд. Как можно сделать нужную вертикальную таблицу без промежуточных вычислений нажатием одной кнопки? Консолидация не помогает - суммирует и артикулы. В написании макросов я профан. Этим надо заниматься постоянно, а я сталкиваюсь с ними крайне редко. Могу только использовать их в работе. Заранее спасибо.
 
а под одним артикулом всегда только одно изделие, или может быть и больше?
 
Только одно, но случайно может оказаться так, что написано с ошибкой.
 
как вариант можно сделать и без макроса

Вы можете создать таблицу, где будут все возможные артикулы, и воспользоваться формулой суммесли.
один раз задать фильтр по непустым значениям, а далее просто обновлять фильтр
Изменено: v.fix86 - 30.07.2013 12:09:58
 
А чем не устраивает сводная таблица?  ;)
 
Вроде все отлично. Попробую сам. Если будут вопросы, обращусь, Спасибо.
 
Цитата
LVL пишет:
А чем не устраивает сводная таблица?  

Не могу понять, где и что делаю неверно. Сколько ни пытался подойти к сводным, ничего не получается. У меня всегда получается (файл). Как Вы разбиваете на столбцы?
 
по сводной таблице правой кнопкой - "параметры сводной таблицы" - "вывод" - "класический макет сводной таблицы"
 
а потом можно еще "параметры поля" и выбрать "нет"
 
Все получилось. Всем большая благодарность. Оба варианта легко и просто.
 
Как вариант транспонировать.
 
Попробовал решить задачу при помощи макросов и VBA. Почти получилось, но не могу просуммировать ячейки из листа счетов в колонке кол-во, Может, подскажете, где ошибка? Спасибо
 
В какой процедуре, куда и что нужно посчитать?
 
Пропадал интернет. На листе "Сводная" в столбце кол-во надо просуммировать количество из листа "Счета" для тех артикулов, которые повторяются в разных счетах. Они собраны из 1С в одну колонку.Те, которые не повторяются, просто надо подставить. При нажатии кнопки "Удалить дубликаты артикулы копируются с листа счетов и удаляются дубликаты.При нажатии кнопки "Заполнить таблицу" должны заполниться колонки "Наименование", "Ед.изм." и "Кол-во" в сводной. Но у меня вместо кол-ва идут нули.В Сообщении 129 это выполнено при помощи СУММЕСЛИ. Я попробовал добавить строку....Application.WorksheetFunction.SumIf([A:A], Артикул, [Z:Z]). А как надо правильно?
 
1. Что за сообщение 129? Пока вижу нумерацию сообщений только до 14.
2. Зачем проверяется цвет заливки? В таблице не вижу заливки.
3. Какая задача макроса на кнопке "Заполнить таблицу"? Собрать уникальные артикулы и посчитать столбец количество?
 
Прошу прощения, ошибся. №4
Проверка цвета на всякий случай
По 3-му вопросу:
При нажатии кнопки "Заполнить таблицу" должны заполниться колонки "Наименование", "Ед.изм." и "Кол-во" в сводной.
"Наименование", "Ед.изм." заполняются правильно, дальше ошибка.

У меня вроде получилось методом тыка, прикладываю файл. Но может есть более красивый вариант?
Повторяюсь: Впервые
Изменено: Николай Малыгин - 01.08.2013 21:38:19
 
Для начала неплохо, но...
- уходите от Select - это очень замедляет работу макросов.
- объявляйте переменные и их тип.
А вот с таблицей-отчётом я так и не понял: на первый взгляд она дублирует исходную.
Вы не заметили, я Вам ещё и третий вопрос задавал? ))
 
В листе "Счета" собраны счета от разных заказчиков, которые выполнены в 1С Поэтому и структура первого листа  повторяет счет . Там много повторяющихся. Я хочу их просуммировать для исполнения
 
Иля я бестолково формулирую вопрос или Вы меня не понимаете. Попробую ещё раз. Последний.
Требуется отобрать в таблицу ТОЛЬКО уникальные артикулы и посчитать общее количество по каждому уникальному. Так?
 
Ну да, точно так
 
Тогда я бы отбирал уникальные в коллекцию, цикл по ней, вложенный цикл по диапазону/массиву - про совпадении суммировать количество.
 
А можете показать, как это делать?
 
Могу - см. файл. Кнопка удаления дубликатов теперь не нужна. Если исходных данных ОЧЕНЬ много (тысячи строк), то лучше использовать массивы - будет быстрее.
 
Красота. Буду разбираться. Низкий поклон
Страницы: 1
Читают тему
Наверх