Щас проверю вариант тезки, ну а пока крайний вариант
[vba]
Код
Function CountUnicalVisible(ByVal RangeArea As Range) As Long Dim objDict As Variant Set objDict = CreateObject("Scripting.Dictionary") For Each TheCell In RangeArea If Not TheCell.Parent.Rows(TheCell.Row).Hidden And _ Not TheCell.Parent.Columns(TheCell.Column).Hidden And _ Not objDict.exists(TheCell.Value) Then _ objDict.Add TheCell.Value, "" Next CountUnicalVisible = objDict.Count objDict = Empty End Function
[/vba]
Щас проверю вариант тезки, ну а пока крайний вариант
[vba]
Код
Function CountUnicalVisible(ByVal RangeArea As Range) As Long Dim objDict As Variant Set objDict = CreateObject("Scripting.Dictionary") For Each TheCell In RangeArea If Not TheCell.Parent.Rows(TheCell.Row).Hidden And _ Not TheCell.Parent.Columns(TheCell.Column).Hidden And _ Not objDict.exists(TheCell.Value) Then _ objDict.Add TheCell.Value, "" Next CountUnicalVisible = objDict.Count objDict = Empty End Function
Pelena, buchlotnik, Ого, пардон, предположил, что будет разница от числовых значений и текстовых, перемешал. Не думал, что по цвету разница есть! На самом деле у меня таблица больше, и фильтр не обязательно в этом столбце будет. bmv98rus, Этого достаточно для моей цели, что - то я про функции забыл совсем Но все же реализация формулой интересна
Pelena, buchlotnik, Ого, пардон, предположил, что будет разница от числовых значений и текстовых, перемешал. Не думал, что по цвету разница есть! На самом деле у меня таблица больше, и фильтр не обязательно в этом столбце будет. bmv98rus, Этого достаточно для моей цели, что - то я про функции забыл совсем Но все же реализация формулой интересна lFJl
Коверкается формула, вставлю без тегов =СУММПРОИЗВ(--(ПОИСКПОЗ(база[Группа];база[Группа];0)=ПРОМЕЖУТОЧНЫЕ.ИТОГИ(103;СМЕЩ(база[[#Заголовки];[Группа]];СТРОКА(база[Группа])-1;))*(СТРОКА(база[Группа])-1))) Есть ещё более универсальный вариант, правда формула массива =СУММПРОИЗВ(--(ПОИСКПОЗ(Т(СМЕЩ(база[[#Заголовки];[Группа]];ПРОМЕЖУТОЧНЫЕ.ИТОГИ(103;СМЕЩ(база[[#Заголовки];[Группа]];СТРОКА(база[Группа])-1;))*(СТРОКА(база[Группа])-1);));Т(СМЕЩ(база[[#Заголовки];[Группа]];ПРОМЕЖУТОЧНЫЕ.ИТОГИ(103;СМЕЩ(база[[#Заголовки];[Группа]];СТРОКА(база[Группа])-1;))*(СТРОКА(база[Группа])-1);));0)=ПРОМЕЖУТОЧНЫЕ.ИТОГИ(103;СМЕЩ(база[[#Заголовки];[Группа]];СТРОКА(база[Группа])-1;))*(СТРОКА(база[Группа])-1)))
Коверкается формула, вставлю без тегов =СУММПРОИЗВ(--(ПОИСКПОЗ(база[Группа];база[Группа];0)=ПРОМЕЖУТОЧНЫЕ.ИТОГИ(103;СМЕЩ(база[[#Заголовки];[Группа]];СТРОКА(база[Группа])-1;))*(СТРОКА(база[Группа])-1))) Есть ещё более универсальный вариант, правда формула массива =СУММПРОИЗВ(--(ПОИСКПОЗ(Т(СМЕЩ(база[[#Заголовки];[Группа]];ПРОМЕЖУТОЧНЫЕ.ИТОГИ(103;СМЕЩ(база[[#Заголовки];[Группа]];СТРОКА(база[Группа])-1;))*(СТРОКА(база[Группа])-1);));Т(СМЕЩ(база[[#Заголовки];[Группа]];ПРОМЕЖУТОЧНЫЕ.ИТОГИ(103;СМЕЩ(база[[#Заголовки];[Группа]];СТРОКА(база[Группа])-1;))*(СТРОКА(база[Группа])-1);));0)=ПРОМЕЖУТОЧНЫЕ.ИТОГИ(103;СМЕЩ(база[[#Заголовки];[Группа]];СТРОКА(база[Группа])-1;))*(СТРОКА(база[Группа])-1)))Pelena
"Черт возьми, Холмс! Но как??!!" Ю-money 41001765434816
buchlotnik, добрый день, не могли бы прописать формулу в моем файле, что то никак не получается применить. Мне нужно считать количество магазинов в каждом регионе. То есть фильтром выбираю сначала регион "Север 1", плюс отфильтровываю еще несколько столбцов по другим параметрам. В итоге мне нужно посчитать сколько магазинов попало в данный регион с учетом всех фильтров. Изначально название каждого магазина повторяется в столбце по 7 семь раз. Но при отфильтровке какой то магазин может повториться 5, какой то 7, какой то 3 раза и тп. Мне нужно посчитать без учета повторов, только уникальные значения.
Заранее спасибо! Файл прилагаю
buchlotnik, добрый день, не могли бы прописать формулу в моем файле, что то никак не получается применить. Мне нужно считать количество магазинов в каждом регионе. То есть фильтром выбираю сначала регион "Север 1", плюс отфильтровываю еще несколько столбцов по другим параметрам. В итоге мне нужно посчитать сколько магазинов попало в данный регион с учетом всех фильтров. Изначально название каждого магазина повторяется в столбце по 7 семь раз. Но при отфильтровке какой то магазин может повториться 5, какой то 7, какой то 3 раза и тп. Мне нужно посчитать без учета повторов, только уникальные значения.