2016-04-19 3 views
-2

У меня есть 2 строки в листе Excel. Все столбцы идентичны, кроме одного. Что-то вроде enter image description hereОбъединить две строки в Excel

Как я могу это достичь? Я не очень хорошо знаком с концепцией Pivot.

Любая помощь?

С уважением.

+0

'Как я могу это достичь?' Что вы пробовали? – findwindow

+0

Я пробовал делать это Pivot, но как-то он всегда возвращается с суммой, а не с комбинированием столбцов. Я новичок в excel – user2854333

+1

Хорошо, я использовал мобильное приложение и, видимо, написал два ответа, где я хотел прокомментировать. Извините за это (удалили ответы сейчас). Поэтому я сказал: вам нужно будет добавить дополнительные сведения о том, как настроены данные и что вы уже пробовали. На первый взгляд, вам нужно перебирать данные, чтобы искать дубликаты, поэтому вам может понадобиться VBA или по крайней мере формула массива. Если вы хотите, чтобы результат выглядел точно так, как ваш пример, это невозможно сделать с помощью сводных таблиц, насколько я знаю – NiH

ответ

0

Надежда это то, что вы хотите:

Sub QuickCombine() 
    Dim X() 
    Dim Y() 
    Dim objDic As Object 
    Dim lngRow As Long 
    Dim lngCol As Long 
    Dim ws As Worksheet 

    X = Range([a1], Cells(Rows.Count, "G").End(xlUp)) 
    Y = X 
    Set objDic = CreateObject("scripting.dictionary") 

    For lngRow = 1 To UBound(X, 1) 
     If Not objDic.exists(LCase$(X(lngRow, 1) & X(lngRow, 2))) Then 
      objDic.Add LCase$(X(lngRow, 1) & X(lngRow, 2)), lngRow 
     Else 
      Y(lngRow, 1) = vbNullString 
      Y(objDic.Item(LCase$(X(lngRow, 1) & X(lngRow, 2))), 3) = Y(objDic.Item(LCase$(X(lngRow, 1) & X(lngRow, 2))), 3) & "," & X(lngRow, 3) 
     End If 
    Next 

    Set ws = Sheets.Add 
    [a1].Resize(UBound(X, 1), UBound(X, 2)) = Y 
    Columns("A").SpecialCells(xlBlanks).EntireRow.Delete 

End Sub 

получил от этого here.

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