2013-07-06 4 views
0

Я загрузил некоторые данные, но не в удобном для использования формате.Excel, создание новых столбцов на основе информации в строках

Формат превосходит.

Мой набор данных выглядит, как показано ниже (первая строка заголовков):

CompanyID PaymentMethod Amount 
1   Cash   $100 
      Stock   $200 
2   Cash   $500 

Для того, чтобы иметь возможность анализировать информацию, которую я требовать информацию, чтобы быть просто одна строка в компании ID. Я не могу иметь несколько строк, ссылающихся на один и тот же идентификатор компании.

мне было интересно, если там был код, который я могу использовать, чтобы изменить данные таким образом, в конце концов, это будет выглядеть примерно так:

CompanyID PaybyCash PaybyStock 
1   $100  $200 
2   $500  

В основном это будет просто скопировать значения в новые столбцы (и удалить Старый).

Заранее спасибо :).

+2

Вы пытались сделать это с помощью сводной таблицы, вам может не понадобиться VBA. – ChrisProsser

+0

Hi Chris, Спасибо за комментарий: Я не уверен, как использовать сводную таблицу. Как я могу установить его? Проблема заключается в том, что у меня есть 300 файлов с 10 000 строк данных. Поэтому я подумал, что VBA может быть быстрее. – user2364305

ответ

0

Один из подходов - использовать сводную таблицу. Для этого вам сначала нужно будет немного поработать над данными:

1) Заполните все отсутствующие идентификаторы компании - одним из способов было бы использовать неиспользуемый столбец (например, начать с ячейки D2 и ввести форму:

=if(A2="",A1,A2) 

Это будет использовать значение в ячейке выше, если значение для этой строки в столбце а пусто, но использовать сам, если не значение. Перетащите формулу вниз для всех строк. Вы можете проверить результаты и если счастливая копия и сделайте специальную вставку (опция в щелчке мыши) и выберите значения, чтобы вставить значения из формулы в столбце D в столбец A, вы можете удалить столбец D.

2) Вам нужно будет конвертировать суммы в поле валюты. Если вы найдёте и замените, вы можете просто заменить $ ничем. Затем выберите все значения в столбце C и щелкните правой кнопкой мыши, выберите formatls cel и выберите валюту в качестве типа данных.

3) Выберите все данные, перейдите на вкладку вставки и выберите «Создать сводную таблицу». У вас будет опция нового листа или существующего листа. После этого перетащите Amount в значения, CompanyID в RowLabels и PaymentMethod в метки столбцов.

Это должно начаться как минимум. Вероятно, стоит проверить некоторые онлайн-уроки по сводным таблицам, как только вы быстро сыграли с вышеупомянутым, чтобы увидеть, может ли это быть то, что вы хотите.

+0

Примечание: в приведенном выше совете предполагается, что это одноразовое задание. Если это то, что вы хотите выполнять регулярно, то решение VBA будет более подходящим (даже если VBA просто выполнил вышеописанные шаги). – ChrisProsser

+0

Привет Крис, Спасибо за помощь. Так что, в основном, я могу записать макрос, а затем сделать шаги выше, а затем остановить его после того, как я закончил делать необходимые настройки? Все 300 файлов будут иметь одинаковые заголовки, поэтому, если я смогу это сделать, это поможет много :). – user2364305

+0

Да, вы можете это сделать, вам просто нужно будет проверить код и заменить абсолютные ссылки на ячейки с соответствующими относительными значениями. – ChrisProsser

Смежные вопросы