2009-04-02 4 views
1

Проще говоря, я ищу быстрый способ сделать следующее.
Я хотел бы форматировать таблицу первенствовать ниже:Слияние и форматирование Excel

 
     A  B  C  D 
    1 foo bat abe test 
    2 foo bat cat test 
    3 foo bat dog test 
    4 bar moo hat girl 
    5 bar moo bat girl 

, чтобы выглядеть следующим образом:

 
     A  B  C    D 
    1 foo bat abe, cat, dog test 
    2 bar moo hat, bat  girl 

Столбец A, B, D и так далее будет повторять те же данные по уникальной серии в каждом ряд.
В каждой строке столбец C всегда будет отличаться.
Столбец C должен быть объединен вместе с запятой.

Любые предложения приветствуются.

ответ

1

Вы можете использовать VBA, но соответствует ли это вашему определению «легко», я не уверен. Что-то вроде:

Range("C1").Select 
Do Until Activecell.Formula = "" 
    ''if my row matches the row below 
    If ActiveCell.Offset(0,-2).Value = ActiveCell.Offset(1,-2).Value _ 
    And ActiveCell.Offset(0,-1).Value = ActiveCell.Offset(1,-1).Value _ 
    And ActiveCell.Offset(0, 1).Value = ActiveCell.Offset(1, 1).Value Then 
     ''merge and collapse 
     Activecell.Formula = ActiveCell.Formula & ", " & _ 
          ActiveCell.Offset(1,0).Formula 
     ActiveCell.Offset(1,0).EntireRow.Delete 
    Else 
     ''Go down a row 
     ActiveCell.Offset(1,0).Select 
    End If 
Loop 

идет вниз по списку одной строки в то время, и вручную объединяющее значение, если строка появляется, чтобы соответствовать. В противном случае он просто идет вниз.

+0

Этот сценарий будет отлично работать для моих нужд. Благодарю. – user86417

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

  • Нет связанных вопросов^_^