Страницы: 1 2 След.
RSS
34000 ячеек - автоматизация обработки. ТЗ в теле сообщения.
 
Добрый день.  
Прошу помощи в решении задачи с автоматизацией работы в таблице.  
Я очень ленивый человек, поэтому лучше я день потеряю, но за пять минут долечу. :-)  
 
Из Quick Books выгружены данные. 35000 строк данных, более 250 контрагентов. Во вложенном файле я оставил 93 строки данных. Название компаний и продукции изменены.  
Поля: дата оплаты, имя контрагента, наименование продукции, количество, цена, итого по заказу, накопленный итог с учетом предыдущих сделок.  
 
Есть две большие гадости, что затрудняет работу по анализу над обработкой данных.  
1. Наличие пустых ячеек между контрагентами, а также в столбце G и H. Не понял, какую функцию нужно использовать, чтобы автоматизировать процесс удаления пустых строк.  
2. В колонке Name (столбец С) даны названия компаний. А заводили их с ошибками. Таким образом, в этой колонке есть фирмы с филиалами, типа Старик Хоттабыч - Химки, Старик Хоттабыч - Видное, а есть и просто в виде Стар. Хот., СторикПахабыч - задача по этой колонке -  все подобные названия нужно привести к одному общему названию.  
В теории я придумал такой алгоритм – делаю на другом листе копию столбца, использую команду удалить дубликаты. Получаем уникальные названия компаний. А дальше мне не хочется вручную делать «найти и заменить», хочу воспользоваться какой-нибудь формулой: если в столбце С есть значения А, Б, В, Г (текстовые!), то заменить их на значение Д. В будущем, даже если появятся новые интерпретации (скорее всего таких ошибок будет 1-2 в год, а не как сейчас) их можно будет достаточно просто найти и добавить в формулу.  
 
Я сформировал следующее ТЗ по таблице:  
0. Создать файл с автоматизацией обработки данных. Подобные отчеты я буду делать регулярно. Поэтому будет браться выгрузка из Quick Books, вставляться в лист книги, а на другом листе должны быть все необходимые формулы, которые нужно применять к таблице. Количество сделок в год по данному файлу – 200-400 записей. Не больше.  
1. Мне нужен отчет по клиентам (объем продаж ($/шт.) с месячной, квартальной, годовой разбивкой).  
Буду рад, если сориентируете, какую формулу нужно использовать, чтобы по определенному контрагенту производился подсчет за определенный период и происходила запись в ячейку.    
Т.е. есть «нормальное» название компании. В соседнем столбце вставляем формулу – если фирма такая-то, то считаем сумму всех значений в таком-то столбце (количество, стоимость) за такой-то период – месяц/квартал/год, вставляем значение в ячейку.  
2. Анализ ассортимента  
3. …  
 
Пунктов будет больше, сейчас покоя не дают именно эти две гадости.  
Главное я хочу сам научиться, ибо это мне пригодится. :-)
 
{quote}{login=renby}{date=15.10.2010 03:15}{thema=34000 ячеек - автоматизация обработки. ТЗ в теле сообщения.}{post}Добрый день.  
Во вложенном файле я оставил 93 строки данных. Название компаний и продукции изменены.  
Поля: дата оплаты, имя контрагента, наименование продукции, количество, цена, итого по заказу, накопленный итог с учетом предыдущих сделок.{/post}{/quote}Файл в другом конверте? Или размер велик?
 
Извините, долго писал, и когда отправлял письмо, вложенный файл не прикрепился.  
<EM><STRONG>Файл удален</STRONG> - велик размер - [<STRONG>МОДЕРАТОРЫ</STRONG>]</EM>
 
Ой как стыдно мне. :-) Файл в архиве.  
<EM><STRONG>Файл удален</STRONG> - велик размер - [<STRONG>МОДЕРАТОРЫ</STRONG>]</EM>
 
"Ой как стыдно мне. :-) Файл в архиве." - опять не тот размер, да xlsx не могу посмотреть  
"Наличие пустых ячеек между контрагентами, а также в столбце G и H. Не понял, какую функцию нужно использовать, чтобы автоматизировать процесс удаления пустых строк" - макросом  
"есть значения А, Б, В, Г (текстовые!), то заменить их на значение Д" - функция ВПР поможет  
"1. Мне нужен отчет по клиентам ","2. Анализ ассортимента","3 ..." - сводная таблица
 
Файл в формате Excel 2003.  
Буду смотреть вечером.  
<EM><STRONG>Файл удален</STRONG> - велик размер - [<STRONG>МОДЕРАТОРЫ</STRONG>]</EM>
 
Почему ваш файл таких гигантских размеров? ведь для такого количества данных нужно всего несколько килобайт. (удалите все пустые строки и столбцы ниже и правее данных)  
 
Пример сводной таблицы  
 
(88885 - каре)
 
Да уж 180 кб, 300 кб в архиве, боюсь смотреть будет нечего...  
 
По делу:  
Удалить пустые ячейки можно добавив доп столбец, заполнить его в требуемом диапазоне (я так понимаю 1:34000) любым символом, вставить автофильтр, отфильтровать по каждому полю по критерию "пустые" - и разом их удалить.  
 
Идея с отдельным перечнем и удалением дубликатов - правильная, организуете подстановочный список, избавляетесь от "корявых" наименований одного и того же, далее возвращаете в исходную таблицу причёсанные наименования с помощью "ВПР", как советовал MCH.  
 
Далее сводная - это работа для неё!
 
Еще вариант
 
Еще раз спасибо за внимание. Завтра с утра займусь формированием файла с учетом ваших рекомендаций.  
 
Мне очень понравился элегантный способ - не удалять пустые ячейки, а заполнить пустые ячейки значениями, 1900 года. А потом использовать фильтр в сводной таблице по дате. Как это делается? Формула - найти в столбце, в диапазоне 1:35000 пустые ячейки и заполнить их 01.01.1900. Так?  
 
Вопросы по сводной таблице.  
При первом знакомстве со сводными таблицами не смог понять, как вы разделили поля с данными. У меня их формирует в одну кучу, кроме значений количества. Т.е. у меня Название столбца - Name, строкой ниже месяц, год, квартал, что было продано и проч. Скорее всего время позднее дало о себе знать. :-) Как сделать именно по столбцам - как в последнем вложенном файле (см. сообщение Михаила)?
 
Пустые ячейки заполнены не датами, а нулями. Выбираем диапазон- Ctrl+G,- выделить - пустые - в строке формул - 0 - Ctrl+Enter.  
 
Жмем любую ячейку сводной - вкладка конструктор - макет отчета - таблица.
 
Добрый день.  
 
Потребовалось более значительное время для составления списка подстановочных значений. А во время работы над этой таблицей пришла идея о добавлении дополнительных полей.  
 
Функцией ВПР двоспользовался. Не смог заставить её работать так, как мне это нужно (скорее всего не разобрался, время было, значит не понял):  
1. По ссылке я разобрался с примером: http://www.planetaexcel.ru/forum.php?thread_id=20260 .    
2. По аналогии сделал новую таблицу. Комментарии: на первом листе менять сортировку не нужно.  
3. На втором листе - взял наименования компаний, удалил пустые ячейчки и дубликаты, отсортировал по алфавиту (в "настоящей" таблице 34000 значений, уникальных 2956, а стандартизированных будет около 500 шт.). Добавил на втором листе тип отрасли и название страны.  
 
Вопрос прежний: как на листе 1 проверить столбец с именами и в соседнюю ячейку занести стандартизированные значения этих имен. А затем по аналогии, добавить тип отрасли и страну.
 
=ВПР(C3;Лист2!A2:D5;2;0)  
Смотрите в справке ВПР "интервальный просмотр".
 
И диапазон закрепить:  
=ВПР(C3;Лист2!$A$2:$D$5;2;0)  
Это уже к справке о типах ссылок.
 
Тоже проверил  
=VLOOKUP(C3;Лист2!$A$2:$D$5;2)  
 
а если напрягает тянуть тысячи формул, можно взять  
http://excel.ucoz.ru/index/comparefiles_find/0-25  
http://hugo.nxt.ru/CompareFiles.Find.rar  
 
Проверил:  
Файл - приёмник: C:\temp\renby\Xl0000119.xls  
Файл - источник: C:\temp\renby\Xl0000119.xls  
Столбцы сравнения в приёмнике: c  
Столбцы сравнения в источнике: a  
Лист - приёмник (№): 1  
Лист - источник (№): 2  
Столбцы - приёмники данных копирования: d,e,f  
Столбцы - источники данных копирования: b,c,d  
 
 
15 раз бесплатно.
 
Да, считает. Но это будет полуавтоматически. Нужно для каждого диапазона значений на листе 1 копировать формулу, начинающуюся с первой ячейки этой группу (например, в моей таблице, это С3, С15, C22, C29, C44, C50).  
 
Закономерный вопрос - а просто задать - вот тебе столбец С на листе 1, вот тебе лист 2 с этими же значениями + со значениями на которые нужно заменить. Сравни, и вставь в Лист 1, стобец D.
 
{quote}{login=renby}{date=20.10.2010 12:46}{thema=}{post}Нужно для каждого диапазона значений на листе 1 копировать формулу, начинающуюся с первой ячейки этой группу (например, в моей таблице, это С3, С15, C22, C29, C44, C50){/post}{/quote}  
Зачем?  
=ЕСЛИ(C3="";"";ВПР($C$3;Лист2!$A$2:$D$8;2;0))
 
{quote}{login=renby}{date=20.10.2010 12:46}{thema=}{post}Закономерный вопрос - а просто задать - вот тебе столбец С на листе 1, вот тебе лист 2 с этими же значениями + со значениями на которые нужно заменить. Сравни, и вставь в Лист 1, стобец D.{/post}{/quote}  
 
:)  
см.выше
 
Да-да, просто пишем - весь столбец.  
Какие-то проблемы с основной таблицей. Сейчас поделюсь своими догадками.
 
У меня не работала эта формула в таблице. Как сделал, чтобы все заработало:  
1. Создал новую  
2. Копируем лист  
3. В новой книге специальная вставка - вставить только значения.  
 
Ну а дальше все работает. Я настолько обленился, что выбирал просто столбцы в формулах и заполнял формулы на все ячейки в столбце.  
 
Теперь буду заниматься формированием отчета. Но уже легче. Теперь всегда от любого менеджера - США, Европа, Азия я смогу получать подготовленные файлы для анализа. Я счастлив. :-)
 
Вот файл, может быть кому-нибудь пригодится.
 
Файл.
 
Интересный эффект, может кто нибудь объяснить:  
хотел замерить скрость работы 102 000 функций ВПР(), столкнулся с глюком.  
Не работает  
=VLOOKUP(C33999;Лист2!$A$2:$D$5;2;0)  
=VLOOKUP(C33999;Лист2!$A$2:$D$5;3;0)  
=VLOOKUP(C33999;Лист2!$A$2:$D$5;4;0)  
причём в третьем столбце врёт уже с  
=VLOOKUP(C29;Лист2!$A$2:$D$5;4;0)  
но работает  
=VLOOKUP(C34000;Лист2!$A$2:$D$5;4;0)  
или те же функции с единицей или вообще без последнего аргумента...
 
Проблема с данными или с самой книгой? Попробовать на другом примере.
 
Гдеж я другой пример возьму? Этот растягивал :)
 
Вопрос по сводной таблице.  
Файл Михаила, см. пост 15.10.2010, 18:11.  
 
Не могу понять, как он добавил Кварталы и Годы. Не могу понять. Мозг сломал. :-)
 
{quote}{login=renby}{date=20.10.2010 02:25}{thema=}{post}Вопрос по сводной таблице.  
Файл Михаила, см. пост 15.10.2010, 18:11.  
 
Не могу понять, как он добавил Кварталы и Годы. Не могу понять. Мозг сломал. :-){/post}{/quote}  
Выделяете столбец с датами.  
ПКМ - "группировка", выбираете варианты группировки.  
 
66311
 
Спасибо, понимал, что данных в поле данных хватает для большей разбивки, но название "Группировать/разгруппировать" как в Word смущало + не думал, что несколько пунктов (год, квартал, месяц) можно выбрать.
 
Добрый день.  
 
Обрабатываю данные (см. выше в этой теме) и сформулировал перед собой следующую задачу:  
 
1. Нужно для каждой из компаний просмотреть даты обращений, выбрать первую из них, поместить в ячейку, в соседнюю поместить дату последнего обращения (34000 строк с данными)  
2. Делаем так по каждой из компаний.  
3. Компаний всего около 550 шт.  
4. Группируем компании по типу первого обращения и последнего. Суммируем такие компании. Если дата начального и конечного обращения одна и та же (например, 2005 и 2005 гг.), то все равно считаем, что компания приобретала продукцию в течении года.  
5. Получаем несколько групп, классифицированных по начальной и конечной дате обращения.  
6. А вот эти данные уже достаточно просто можно отобразить на графике (см. excel-файл).  
 
Я понимаю, что нужно сделать, но не понимаю как, не смог вывести алгоритм :-(  
Лист 2, в ячейку поместить год первого обращения, который ищем для компании в этой строке (True Name). Тоже самое для последнего обращений. А дальше как, сортировать вручную по дате первого обращения, смотреть на разницу по годам и объединять в группы тоже вручную?
 
{quote}{login=renby}{date=01.11.2010 12:46}{thema=}{post}Добрый день.  
1. Нужно для каждой из компаний просмотреть даты обращений, выбрать первую из них, поместить в ячейку, в соседнюю поместить дату последнего обращения (34000 строк с данными){/post}{/quote}Чуть видоизменяем сводную.  
 
А вот что Вы хотите дальше - не очень понял.
Страницы: 1 2 След.
Читают тему
Наверх