Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 13.03.2025, 10:42   #1
Rita2018
 
Регистрация: 07.12.2022
Сообщений: 7
По умолчанию Найти среднее значение по данным в ячейке

Добрый день!
Помогите пожалуйста, мне необходимо найти среднее значение по датам в одной ячейке, перечисленным через запятую. Справочник дат со значениями лист ВЫРУЧКА
Пример прикладываю
Заранее спасибо.
Вложения
Тип файла: xlsx тест_.xlsx (11.4 Кб, 2 просмотров)
Rita2018 вне форума Ответить с цитированием
Старый 13.03.2025, 13:18   #2
сфинкс
Участник клуба
 
Аватар для сфинкс
 
Регистрация: 17.06.2012
Сообщений: 1,024
По умолчанию

На вкладке Выручка в столбец c вносить 1
если дата учитывается
и получится например 3 штуки по 1

В столбец d формула =$B2*C2
и расширить вниз

Вверху поместятся формулы
=СУММ(C2:C43)
=СУММ(D2:D43)/C1

Проверяем в новом столбце E ставлю 1-чки
и формулы посчитали вверху
количество и среднее
как на вкладке Поиск

Через день: Что ?! ?! Меня не похвалили?

Случайные и Массивы https://programmersforum.ru/showthread.php?t=344371 Учим C# & basic & excel & python https://programmersforum.ru/showthre...=327446&page=5 ничего нерекомендую

Последний раз редактировалось сфинкс; 14.03.2025 в 09:34.
сфинкс вне форума Ответить с цитированием
Старый 13.03.2025, 14:24   #3
Elixi
Форумчанин
 
Регистрация: 10.05.2019
Сообщений: 171
По умолчанию

если макросом, можно например
Код:
Sub Тest()
    Dim Dt$()
    Dim Rw1&, Rw1F&, Rw1L&, Rw2&, Rw2F&, Rw2L&
    Dim D&, M&, Y&, i&
    Dim S#
    Dim ShP As Worksheet, ShV As Worksheet
    
    Set ShP = Sheets(1)     'Sheets("ПОИСК")
    Set ShV = Sheets(2)     'Sheets("ВЫРУЧКА")
    
    Rw1F = 2: Rw2F = 2
    Rw1L = ShP.Cells(Rows.Count, "A").End(xlUp).Row
    Rw2L = ShV.Cells(Rows.Count, "A").End(xlUp).Row
    
    For Rw1 = Rw1F To Rw1L
        Dt = Split(ShP.Cells(Rw1, "A"), ", ")
        For Rw2 = Rw2F To Rw2L
            D = Split(ShV.Cells(Rw2, "A"), ".")(0)
            M = Split(ShV.Cells(Rw2, "A"), ".")(1)
            Y = Split(ShV.Cells(Rw2, "A"), ".")(2)
            
            For i = LBound(Dt) To UBound(Dt)
                If D - Split(Dt(i), ".")(0) = 0 Then
                If M - Split(Dt(i), ".")(1) = 0 Then
                If Y - Split(Dt(i), ".")(2) = 0 Then
                    S = S + ShV.Cells(Rw2, "B")
                    Exit For
                End If
                End If
                End If
            Next i
        Next Rw2
        
        If S > 0 Then
            ShP.Cells(Rw1, "B") = _
                Round(S / (UBound(Dt) - LBound(Dt) + 1), 3)
            S = 0
        End If
    Next Rw1
End Sub
Elixi вне форума Ответить с цитированием
Старый 14.03.2025, 07:55   #4
Rita2018
 
Регистрация: 07.12.2022
Сообщений: 7
По умолчанию

Elixi, спасибо огромное!!!
А подскажите ещё пожалуйста, если в значении дат будет стоять диапазон, например: 04.02.2010-08.02.2010, 28.02.2010, 02.03.2010 и также даты через запятую....это возможно реализовать
Вложения
Тип файла: xlsx тест__.xlsx (11.2 Кб, 1 просмотров)
Rita2018 вне форума Ответить с цитированием
Старый 14.03.2025, 16:25   #5
Elixi
Форумчанин
 
Регистрация: 10.05.2019
Сообщений: 171
По умолчанию

Цитата:
Сообщение от Rita2018 Посмотреть сообщение
Elixi, спасибо огромное!!!
А подскажите ещё пожалуйста, если в значении дат будет стоять диапазон, например: 04.02.2010-08.02.2010, 28.02.2010, 02.03.2010 и также даты через запятую....это возможно реализовать
Rita2018, пробуйте
Вложения
Тип файла: zip тест__.zip (20.1 Кб, 3 просмотров)
Elixi вне форума Ответить с цитированием
Старый 17.03.2025, 04:04   #6
Rita2018
 
Регистрация: 07.12.2022
Сообщений: 7
По умолчанию

Elixi, спасибо огромное приогромное!!!
Вы просто гений!!!
Rita2018 вне форума Ответить с цитированием
Старый 18.03.2025, 16:06   #7
Elixi
Форумчанин
 
Регистрация: 10.05.2019
Сообщений: 171
По умолчанию

пожалуйста
Elixi вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как найти среднее арифметическое значение массива БрикДи Microsoft Office Excel 2 17.12.2013 20:27
VBA.Найти среднее арифметическое значение Даринаа Помощь студентам 0 08.05.2013 00:30
как найти среднее значение к программе в ВБА ЭКСЭЛЬ Sir.Jucce Microsoft Office Excel 5 17.12.2012 00:40
Как найти среднее значение не считая нули. SNV75_13 Microsoft Office Excel 16 24.02.2011 13:37