Поиск  Пользователи  Правила 
Закрыть
Логин:
Пароль:
Забыли свой пароль?
Регистрация
Войти
 
Страницы: 1
RSS
Подсчет количества уникальных значений в одном столбце по условию из другого столбца.
 
Добрый день, уважаемые форумчане,

есть таблица: Столбец с номерами заказов, столбец с номерами клиентов и столбец с номерами артикулов. Нужно вывести количество заказов каждого клиента.

Сложность в том, что формула суммаесли или pivot таблица суммирует все номера заказов, а нужно чтобы она суммировала только уникальные исходя от номера клиента.

Пример в приложении. Не могу решить проблему как мне вывести либо в pivot таблицу либо формулой рядом с pivot таблицей, кто сколько заказов сделал.

Благодарю за помощь.
 
Делайте сводную по сводной.
Или же, если у вас молодой XL, стройте сводную с моделью данных - потом можно подбить уникальные. Как вариант... ;)
"Ctrl+S" - достойное завершение ваших гениальных мыслей!.. ;)
 
UDF. Как вариант...
Код
Function СЧЁТУНИКЕСЛИМН(rngU As Range, ParamArray Conditions()) As Long
'rngU - диапазон отбора уникальных значений, обязательный
'ПАРЫ аргументов: диапазон_условий1;условие1;диапазон_условий2;условие2...диапазон_условийN;условиеN
'обязательна хотя-бы одна пара
Dim cl As Range
Dim arrFlag() As Boolean
Dim I As Long
On Error Resume Next
With New Collection
    For Each cl In rngU
        ReDim arrFlag(Int(UBound(Conditions) / 2))
        For I = LBound(Conditions) To UBound(Conditions) Step 2
            If Cells(cl.Row, Conditions(I).Column).Value Like Conditions(I + 1) Then
                arrFlag(Int(I / 2)) = True
            End If
        Next
        If WorksheetFunction.And(arrFlag) = True Then
            .Add cl, CStr(cl)
            If Err = 0 Then
                СЧЁТУНИКЕСЛИМН = СЧЁТУНИКЕСЛИМН + 1
            Else
                Err.Clear
            End If
        End If
    Next
End With
End Function
Согласие есть продукт при полном непротивлении сторон.
 
Спасибо огромное за супер быстрые ответы. Макрос работает отлично!

Как делать сводную таблицу из сводной пока не знаю, не стаклкивался. Буду разбираться.
Еще раз благодарю за помощь.Я бы еще пару дней возился бы сам.
Страницы: 1
Читают тему (гостей: 1)
Наверх