Страницы: 1
RSS
суммпроизв по нескрытым значениям
 
Добрый день!  
 
Подскажите плиз, есть ли написанные ранее функции, которые могли бы считать средневзвешенное значение, но только по установленному автофильтру.  
Вот что смог найти:  
 
Function dhAverageWithWeight(rgWeights As Range, rgValues As Range) _  
As Double  
  If (rgWeights.Count <> rgValues.Count) Then  
     ' Количество весов не соответствует количеству аргументов  
     dhAverageWithWeight = 0  
     Exit Function  
  End If  
 
  Dim i As Integer  
  Dim dblSum As Double        ' Сумма значений  
  Dim dblSumWeight As Double  ' Взвешенная сумма значений  
 
  ' Вычисление...  
  For i = 1 To rgWeights.Count  
     ' Взвешенной суммы значений  
     dblSumWeight = dblSumWeight + rgWeights(i) * rgValues(i)  
     ' Суммы значений  
     dblSum = dblSum + rgWeights(i)  
  Next  
 
  ' Возвращение средневзвешенного значения  
  dhAverageWithWeight = dblSumWeight / dblSum  
End Function  
 
Спасибо!
 
а пример? без примера могу только подсказать - rows(x).hidden
 
а зачем UDF?  
57555
 
Да, только нужно помнить про свойства функции при работе с фильтрами (ей без разницы какой параметр, но если скроешь строку)  
Хорошая штука F1  
ПРОМЕЖУТОЧНЫЕ.ИТОГИ(номер_функции;ссылка1;ссылка2;...)  
 
Номер_функции     — число от 1 до 11 (с включением скрытых значений) или от 101 до 111 (с исключением скрытых значений), которое указывает, какую функцию использовать при вычислении итогов внутри списка.  
 
Номер_функции  
(с включением скрытых значений) Номер_функции  
(с исключением скрытых значений) Функция    
1 101 СРЗНАЧ    
2 102 СЧЁТ    
3 103 СЧЁТЗ    
4 104 МАКС    
5 105 МИН    
6 106 ПРОИЗВЕД    
7 107 СТАНДОТКЛОН    
8 108 СТАНДОТКЛОНП    
9 109 СУММ    
10 110 ДИСП    
11 111 ДИСПР    
Ссылка1; cсылка2     — от 1 до 254 интервалов или ссылок, для которых подводятся промежуточные итоги.  
 
Замечания  
 
Если уже имеются формулы подведения итогов внутри аргументов «ссылка1;ссылка2;...» (вложенные итоги), то эти вложенные итоги игнорируются, чтобы избежать двойного суммирования.  
Для диапазона констант "номер_функции" от 1 до 11 функция ПРОМЕЖУТОЧНЫЕ.ИТОГИ включает значения строк, скрытых при помощи команды Скрыть строки (меню Формат, подменю Скрыть/Показать) в группе Ячейки на вкладке Лист. Эти константы используются для получения промежуточных итогов для скрытых и не скрытых чисел списка. Для диапазона констант "номер_функции" от 101 до 111 функция ПРОМЕЖУТОЧНЫЕ.ИТОГИ исключает значения строк, скрытых при помощи команды Скрыть строки. Эти константы используются для получения промежуточных итогов только для не скрытых чисел списка.  
Функция ПРОМЕЖУТОЧНЫЕ.ИТОГИ исключает все строки, не включенные в результат фильтра, независимо от используемого значения константы «номер_функции».  
Функция ПРОМЕЖУТОЧНЫЕ.ИТОГИ применяется к столбцам данных или вертикальным наборам данных. Она не предназначена для строк данных или горизонтальных наборов данных. Так, при определении промежуточных итогов горизонтального набора данных с помощью значения константы «номер_функции» от 101 и выше (например, ПРОМЕЖУТОЧНЫЕ.ИТОГИ(109;B2:G2)), скрытие столбца не повлияет на результат. Однако на него повлияет скрытие строки при подведении промежуточного итога для вертикального набора данных.  
Если среди ссылок есть трехмерные ссылки, функция ПРОМЕЖУТОЧНЫЕ.ИТОГИ возвращает значение ошибки #ЗНАЧ!.
 
Igor67  
У формулы ПРОМЕЖУТОЧНЫЕ.ИТОГИ нет функции суммы произведения  
 
тухачевский  
формула работает! Пока нет времени разбираться как на это влияет "смещ", но спасибо ;) было бы куда - поставил бы плюсик!
Страницы: 1
Читают тему
Наверх