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

В приведенном ниже примере я хотел бы, чтобы элемент 604K89996 (A2) появился с количеством 23 рядом с ним в ячейке B2.

item
604K89996
604K89996
604K89996
604K89996
604K89996
604K89996
JC92-01998A
JC92-01998A
JC92-01998A
604K89996
JC92-01998A
JC92-01998A
JC92-01998A
JC92-01998A
JC92-01998A
JC92-01998A
JC92-01998A
JC92-01998A
JC92-01998A
JC92-01998A
JC92-01998A
604K89996
604K89996
604K89996
604K89996
604K89996
604K89996
604K89996
604K89996
604K89996
604K89996
604K89996
604K89996
604K89996
604K89996
604K89996
604K89996

Можно ли это сделать?

Я выполнил эту часть, но теперь я пытаюсь вытянуть данные из другого листа в этот лист. Я подозреваю, что это функция поиска, но у меня проблемы с ней. Есть ли кто-то, кому я могу отправить файл, чтобы они могли посмотреть на него?

3 ответа3

1

Используйте сводную таблицу.

Поместите Items в Rows и Values .

Убедитесь, что это Count of Item . Это должно по умолчанию к этому. Если нет, щелкните правой кнопкой мыши по метке в разделе « Values и выберите « Value Field Settings и измените значение на « Count .

0

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

Предполагая, что ваши данные находятся в ячейках A2:A38 , вам нужна следующая формула:=COUNTIF($A$2:$A$38, A2) . Поместите это в ячейку B2 и заполните автоматически до ячейки B38 .

0

Попробуйте этот короткий макрос:

Sub demo()
    Dim A As Range, B As Range, C As Range
    Dim N As Long, i As Long, wf As WorksheetFunction
    Set A = Range("A:A")
    Set B = Range("B:B")
    Set wf = Application.WorksheetFunction

    A.Copy B
    B.RemoveDuplicates Columns:=1, Header:=xlNo
    N = Cells(Rows.Count, "B").End(xlUp).Row
    For i = 1 To N
        Cells(i, "C").Value = wf.CountIf(A, Cells(i, "B").Value)
    Next i
End Sub

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .