Страницы: 1
RSS
Формула массива для подсчёта уникальных значений, В фиксированной таблице работает, в динамической нет.
 
Доброе всем утро.

Имеется формула массива для подсчёта не повторяющихся значений . В  фиксированной таблице она работает. Появилась необходимость применить её в динамической (умной) таблице. отказывается работать. Подскажите где капнуть.
Код
=СУММ(ЕСЛИ(ЧАСТОТА(ЕСЛИ(ДЛСТР(B8:B42)>0;ПОИСКПОЗ(B8:B42;B8:B42;0);"");ЕСЛИ(ДЛСТР(B8:B42)>0;ПОИСКПОЗ(B8:B42;B8:B42;0);""))>0;1))
 
Цитата
Василий Осипов написал:
Подскажите где капнуть.
в вашем файле примере
Лень двигатель прогресса, доказано!!!
 
Извиняюсь. Разобрался с подсчётом. Но всё равно работает не так как надо. Считает полностью диапазон хорошо. Но когда в фильтре выбираешь месяц май или июнь,всё равно выдаёт полный счёт по диапазону. Не работает как другие формулы в итоговой строке умной таблицы. Что посоветуете?
 
чет боязно ваш файл открывать
Лень двигатель прогресса, доказано!!!
 
Да всё там безопасно. Вредоносные коды не могу писать. ОООчень далёк от этого.
У меня открывает не ругаясь. Добавлен только макрос на добавление строк в таблицу.
Интуитивно понимаю что может надо как то связать с  ПРОМЕЖУТОЧНЫЕ.ИТОГИ, а как не пойму.
Изменено: Василий Осипов - 25.01.2019 09:32:06
 
Цитата
Василий Осипов написал:
где капнуть
OFF: Что и куда Вы капать собираетесь? Водки в стакан? Лучше не капать, а уверенно наливать!  ;)  
 
Цитата
Мартын написал:
уверенно наливать!
Всему своё время  :D  
 
Василий Осипов, трындец хоть бы написали или цветом выделили где нужно считать, пустая таблица че хотели сразу и не вкуришь
Код
=СУММПРОИЗВ((ЧАСТОТА(ПОИСКПОЗ(A5:A37&"";A5:A37&"";0);ПОИСКПОЗ(A5:A37&"";A5:A37&"";0))>0)*ПРОМЕЖУТОЧНЫЕ.ИТОГИ(3;СМЕЩ(A5;СТРОКА(A5:A38)-СТРОКА(A5);)))
Лень двигатель прогресса, доказано!!!
 
Ну вот.Есть же ещё телепаты на форуме  :D . Спасибо!!!
 
Поторопился я . Не работает формула. Где то видно в последнем блоке формулы ошибка. Значение А6 красным подсвечивается. Может тае и должно быть
 
когда формулу вводили сообщение о циклической ссылке не напрягло
Лень двигатель прогресса, доказано!!!
 
Сергей, ну я точно не телепат. растолкуйте детятки малому :)  
 
потому что промежуточные итоги начинает обрабатывать диапазон в котором и сама находится
СМЕЩ(A6;СТРОКА(A5:A39)-СТРОКА(A6);) становится СМЕЩ(A6;{-1:0:1:2:3:4:5:6:7:8:9:10:11:12:13:14:15:16:17:18:19:20:21:22:23:24:25:26:27:28:29:30:31:32:33};) то есть от с позиции A6 диапазон сместиться на 33 и окажется что это А39 там где и стоит сама формула  
Лень двигатель прогресса, доказано!!!
 
=СУММПРОИЗВ((ЧАСТОТА(ПОИСКПОЗ(A5:A37&"";A5:A37&"";0);ПОИСКПОЗ(A5:A37&"";A5:A37&"";0))>0)*ПРОМЕЖУТОЧНЫЕ.ИТОГИ(3;СМЕЩ(A6;СТРОКА(A5:A39)-СТРОКА(A6);)))

То есть формула должна быть такая? Туплю по полной :(
Изменено: Василий Осипов - 25.01.2019 13:14:30
 
такие формулы вообще надо ставить над фильтрами что бы не было таких косяков или за обрабатываемым диапазоном хотя бы на строку ниже и вставлять строки не перед первой ячейкой диапазона а внутрь диапазона смотрите в файле зеленые ячейки
Лень двигатель прогресса, доказано!!!
 
Кросс
Страницы: 1
Наверх