Как подвести итоги по дате - PullRequest
1 голос
/ 14 апреля 2009

У меня есть 3 рабочих листа. Ниже приводится объяснение того, что я пытаюсь сделать. EM11 EM12 EM01

Следующие шаги предназначены для листа EM11, но я хочу повторить их ДЛЯ листа EM12 и листа EM01

  • Выберите лист EM11
  • Скопируйте J2: J65636 и скопируйте G2: G65636
  • Создайте новый рабочий лист с именем EM11-Count
  • Вставьте столбец J в ячейку A2 нового рабочего листа под названием EM11-Count
  • Вставьте столбец G в ячейку B2 нового листа.

  • Рабочая таблица EM11-Count теперь имеет даты в диапазоне B2: B65636.

  • Скопируйте и вставьте первую дату в ячейку C1
  • Скопируйте и вставьте вторую дату в ячейку D1
  • Скопируйте и вставьте третью дату в ячейку E1
  • Скопируйте и вставьте четвертую дату в ячейку F1
  • Скопируйте и вставьте пятую дату в ячейку G1
  • Скопируйте и вставьте шестую дату в ячейку H1. (будет только шесть или семь разных дат)

Теперь лист будет выглядеть примерно так

Col A  Col B       Col C      Col D      Col E       
                   04/1/2009  04/2/2009  04/3/2009
DPR1   04/1/2009            
DRS6   04/2/2009            
ERJ9   04/3/2009            

Посмотрите на A2: B2. Теперь посмотрите на C1: H1, чтобы найти дату, которая соответствует дате, которую вы имеете в B2. Допустим, C1 имеет соответствующую дату. Перейдите к C2 и введите число 1.

Col A  Col B       Col C      Col D      Col E       
                   04/1/2009  04/2/2009  04/3/2009
DPR1   04/1/2009   1        
DRS6   04/2/2009            
ERJ9   04/3/2009            

Следующий взгляд на A3: B3. Теперь посмотрите на C1: H1, чтобы найти дату, которая соответствует дате, которую вы имеете в B3. Допустим, D1 имеет соответствующую дату. Перейдите к D3 и введите число 1.

Col A  Col B       Col C      Col D      Col E       
                   04/1/2009  04/2/2009  04/3/2009
DPR1   04/1/2009   1        
DRS6   04/2/2009              1         
ERJ9   04/3/2009                                    

Следующий взгляд на A4: B4. Теперь посмотрите на C1: H1, чтобы найти дату, которая соответствует дате, которую вы имеете в B4. Допустим, E1 имеет соответствующую дату. Перейти к E3 и поставить номер 1.

Col A  Col B       Col C      Col D      Col E       
                   04/1/2009  04/2/2009  04/3/2009
DPR1   04/1/2009   1        
DRS6   04/2/2009              1         
ERJ9   04/3/2009                         1

Теперь повторяйте этот шаблон, пока каждая строка в A: B не будет покрыта. При переходе вниз по каждой строке в столбцах A: B произойдут случайные дубликаты. Например, содержимое в A1: B1 будет одинаковым для A2: B7, или содержимое в A14: B14 будет одинаковым для A15: B20. Когда появляются эти дубликаты, я хочу удалить дублирующиеся строки, но увеличить количество / счет исходной строки на число «1». Например, после завершения сканирования макроса A: B лист может выглядеть следующим образом

Col A  Col B       Col C      Col D      Col E       
                   04/1/2009  04/2/2009  04/3/2009
DPR1   04/1/2009   12       
DRS6   04/2/2009              23            
ERJ9   04/3/2009                         57

Вот код, который у меня сейчас есть. Как я уверен, вы можете видеть, что это требует много работы. Вы можете мне помочь?

Sub NWorksheetArrange()
    Application.Goto Reference:="R2C10:R65000C10"
    Selection.Copy
    Sheets.Add
    ActiveSheet.Paste
    Sheets("Sheet3").Select
    Sheets("Sheet3").Name = "EM11-COUNT"
    Sheets("EM11").Select
    Application.Goto Reference:="R2C7:R65000C7"
    Application.CutCopyMode = False
    Selection.Copy
    Sheets("EM11-COUNT").Select
    Range("B1").Select
    ActiveSheet.Paste
    Rows("1:1").Select
    Application.CutCopyMode = False
    Selection.Insert Shift:=xlDown
    Range("B2").Select
End Sub

1 Ответ

2 голосов
/ 14 апреля 2009

Это звучит очень похоже на "сводную таблицу" ... и Excel делает это автоматически.

Как это: http://screencast.com/t/gpLsU50q38

Чтобы создать макрос, который строит сводную таблицу, выполните «Запись макроса» ... затем создайте сводную таблицу ... затем оберните код вокруг записанного оператора сводной таблицы.

...