Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Подсчет повторяющихся значений с учетом различных периодов - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Подсчет повторяющихся значений с учетом различных периодов
Gromozeka Дата: Пятница, 23.08.2013, 07:44 | Сообщение № 1
Группа: Пользователи
Ранг: Прохожий
Сообщений: 7
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Доброго времени суток!
Суть проблемы - понедельная статистика поставок, считается кол-во поставщиков и кол-во документов поставок. За одну поставку (в один день) у 1-го поставщика может быть более одного документа (к примеру 4 док.). Итого таблице должно считаться - 1 поставщик, 4 документа. Как посчитать документы проблемы не составило, с поставщиками хуже, не могу завязать на дату условие, чтобы повторяющиеся имена поставщиков учитывались как один.
Office 2010.

Файл вроде прикрепил, если что, извиняюсь, первая ласточка
К сообщению приложен файл: Post.xls (34.0 Kb)


Сообщение отредактировал Gromozeka - Пятница, 23.08.2013, 07:47
 
Ответить
СообщениеДоброго времени суток!
Суть проблемы - понедельная статистика поставок, считается кол-во поставщиков и кол-во документов поставок. За одну поставку (в один день) у 1-го поставщика может быть более одного документа (к примеру 4 док.). Итого таблице должно считаться - 1 поставщик, 4 документа. Как посчитать документы проблемы не составило, с поставщиками хуже, не могу завязать на дату условие, чтобы повторяющиеся имена поставщиков учитывались как один.
Office 2010.

Файл вроде прикрепил, если что, извиняюсь, первая ласточка

Автор - Gromozeka
Дата добавления - 23.08.2013 в 07:44
Pelena Дата: Пятница, 23.08.2013, 10:28 | Сообщение № 2
Группа: Админы
Ранг: Местный житель
Сообщений: 19421
Репутация: 4567 ±
Замечаний: ±

Excel 365 & Mac Excel
У меня получилось только с двумя доп. столбцами и сводной
К сообщению приложен файл: 6720869.xls (34.0 Kb)


"Черт возьми, Холмс! Но как??!!"
Ю-money 41001765434816
 
Ответить
СообщениеУ меня получилось только с двумя доп. столбцами и сводной

Автор - Pelena
Дата добавления - 23.08.2013 в 10:28
Serge_007 Дата: Пятница, 23.08.2013, 11:49 | Сообщение № 3
Группа: Админы
Ранг: Местный житель
Сообщений: 16475
Репутация: 2749 ±
Замечаний: ±

Excel 2016
Формулу написал быстро, а вот сократить уже долго не могу
Выкладываю как есть:
Код
=СУММ(--(ПОИСКПОЗ(ДВССЫЛ("d"&МИН(ЕСЛИ(G3=Неделя;СТРОКА($3:$12)))&":d"&МАКС((G3=Неделя)*СТРОКА($3:$12)));ДВССЫЛ("d"&МИН(ЕСЛИ(G3=Неделя;СТРОКА($3:$12)))&":d"&МАКС((G3=Неделя)*СТРОКА($3:$12)));)=СТРОКА(ДВССЫЛ(МИН(ЕСЛИ(G3=Неделя;СТРОКА($1:$10)))-МАКС((G2=Неделя)*СТРОКА($1:$10))&":"&МАКС((G3=Неделя)*СТРОКА($1:$10))-МАКС((G2=Неделя)*СТРОКА($1:$10))))))
К сообщению приложен файл: Gromozeka.xls (35.0 Kb)


ЮMoney:41001419691823 | WMR:126292472390
 
Ответить
СообщениеФормулу написал быстро, а вот сократить уже долго не могу
Выкладываю как есть:
Код
=СУММ(--(ПОИСКПОЗ(ДВССЫЛ("d"&МИН(ЕСЛИ(G3=Неделя;СТРОКА($3:$12)))&":d"&МАКС((G3=Неделя)*СТРОКА($3:$12)));ДВССЫЛ("d"&МИН(ЕСЛИ(G3=Неделя;СТРОКА($3:$12)))&":d"&МАКС((G3=Неделя)*СТРОКА($3:$12)));)=СТРОКА(ДВССЫЛ(МИН(ЕСЛИ(G3=Неделя;СТРОКА($1:$10)))-МАКС((G2=Неделя)*СТРОКА($1:$10))&":"&МАКС((G3=Неделя)*СТРОКА($1:$10))-МАКС((G2=Неделя)*СТРОКА($1:$10))))))

Автор - Serge_007
Дата добавления - 23.08.2013 в 11:49
Gromozeka Дата: Пятница, 23.08.2013, 13:27 | Сообщение № 4
Группа: Пользователи
Ранг: Прохожий
Сообщений: 7
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Pelena, к сожалению сводные таблицы не применимы в моем случае. Пример упрощенный, вообще таблица гораздо больше, их 40 штук по разным магазинам и все это сводится в проекцию. Но спасибо за помощь!
 
Ответить
СообщениеPelena, к сожалению сводные таблицы не применимы в моем случае. Пример упрощенный, вообще таблица гораздо больше, их 40 штук по разным магазинам и все это сводится в проекцию. Но спасибо за помощь!

Автор - Gromozeka
Дата добавления - 23.08.2013 в 13:27
Gromozeka Дата: Пятница, 23.08.2013, 13:43 | Сообщение № 5
Группа: Пользователи
Ранг: Прохожий
Сообщений: 7
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Serge_007, здорово, но я, видимо, зря упрощенный пример выложил. Статистика в изначальном виде у меня на одном листе, сводный на другом. Пытался применить предложенную Вами формулу, но беда-печаль((. Выкладываю файл с оригинальным видом таблиц, может поможете.
 
Ответить
СообщениеSerge_007, здорово, но я, видимо, зря упрощенный пример выложил. Статистика в изначальном виде у меня на одном листе, сводный на другом. Пытался применить предложенную Вами формулу, но беда-печаль((. Выкладываю файл с оригинальным видом таблиц, может поможете.

Автор - Gromozeka
Дата добавления - 23.08.2013 в 13:43
Gromozeka Дата: Пятница, 23.08.2013, 13:50 | Сообщение № 6
Группа: Пользователи
Ранг: Прохожий
Сообщений: 7
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
не могу файл приложить файл с оригинальным видом. Весит больше 100 кБ
 
Ответить
Сообщениене могу файл приложить файл с оригинальным видом. Весит больше 100 кБ

Автор - Gromozeka
Дата добавления - 23.08.2013 в 13:50
DJ_Marker_MC Дата: Пятница, 23.08.2013, 15:05 | Сообщение № 7
Группа: Друзья
Ранг: Ветеран
Сообщений: 991
Репутация: 213 ±
Замечаний: 0% ±

Excel 2019
Паравозик не мой но едет хорошо.

UDF:
[vba]
Код
'подсчет количества уникальных значения по условию
'первый столбец является столбцом для поиска условий
'Работает как ВПР: дипазон, критерий, столбец поиска уникальных значений

Function СчётУникМН(aRange As Range, Criteria As Variant, UniqColIndex As Long) As Variant
       Dim ar() As Variant
       Dim coll As Collection
       Dim i    As Long
          
       ar = Intersect(aRange.Areas(1), aRange.Parent.UsedRange)
       If UBound(ar, 2) < UniqColIndex Then
           UCountIf = CVErr(2042) '-- return #N/A
       Else
           Set coll = New Collection
           On Error Resume Next
           For i = 1 To UBound(ar, 1)
               If ar(i, 1) = Criteria Then
                   coll.Add 1, CStr(ar(i, UniqColIndex))
               End If
           Next
           On Error GoTo 0
           СчётУникМН = coll.Count
           Set coll = Nothing
       End If
End Function
[/vba]
К сообщению приложен файл: 8503840.xls (48.0 Kb)


Сообщение отредактировал DJ_Marker_MC - Пятница, 23.08.2013, 15:05
 
Ответить
СообщениеПаравозик не мой но едет хорошо.

UDF:
[vba]
Код
'подсчет количества уникальных значения по условию
'первый столбец является столбцом для поиска условий
'Работает как ВПР: дипазон, критерий, столбец поиска уникальных значений

Function СчётУникМН(aRange As Range, Criteria As Variant, UniqColIndex As Long) As Variant
       Dim ar() As Variant
       Dim coll As Collection
       Dim i    As Long
          
       ar = Intersect(aRange.Areas(1), aRange.Parent.UsedRange)
       If UBound(ar, 2) < UniqColIndex Then
           UCountIf = CVErr(2042) '-- return #N/A
       Else
           Set coll = New Collection
           On Error Resume Next
           For i = 1 To UBound(ar, 1)
               If ar(i, 1) = Criteria Then
                   coll.Add 1, CStr(ar(i, UniqColIndex))
               End If
           Next
           On Error GoTo 0
           СчётУникМН = coll.Count
           Set coll = Nothing
       End If
End Function
[/vba]

Автор - DJ_Marker_MC
Дата добавления - 23.08.2013 в 15:05
_Boroda_ Дата: Пятница, 23.08.2013, 17:07 | Сообщение № 8
Группа: Админы
Ранг: Местный житель
Сообщений: 16772
Репутация: 6551 ±
Замечаний: ±

2003; 2007; 2010; 2013 RUS
попробуйте так
Код
=СУММПРОИЗВ((ПОИСКПОЗ(Поставщики&Год&Неделя;Поставщики&Год&Неделя;)=(СТРОКА(Год)-2))*(Неделя=G3)*(Год=H3))
К сообщению приложен файл: Post888_1.xls (34.5 Kb)


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
Сообщениепопробуйте так
Код
=СУММПРОИЗВ((ПОИСКПОЗ(Поставщики&Год&Неделя;Поставщики&Год&Неделя;)=(СТРОКА(Год)-2))*(Неделя=G3)*(Год=H3))

Автор - _Boroda_
Дата добавления - 23.08.2013 в 17:07
Gromozeka Дата: Понедельник, 26.08.2013, 07:56 | Сообщение № 9
Группа: Пользователи
Ранг: Прохожий
Сообщений: 7
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
DJ_Marker_MC, я с VBA вообще не дружу... Но все-таки поражает разнообразие вариантов)
 
Ответить
СообщениеDJ_Marker_MC, я с VBA вообще не дружу... Но все-таки поражает разнообразие вариантов)

Автор - Gromozeka
Дата добавления - 26.08.2013 в 07:56
Gromozeka Дата: Понедельник, 26.08.2013, 07:58 | Сообщение № 10
Группа: Пользователи
Ранг: Прохожий
Сообщений: 7
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
_Boroda_, Почему-то формула не работает. Хотя из всех вариантов наиболее доступна в понимании. А почему в формуле, в части "...=(СТРОКА(Год)-2))*..." стоит "-2"?
 
Ответить
Сообщение_Boroda_, Почему-то формула не работает. Хотя из всех вариантов наиболее доступна в понимании. А почему в формуле, в части "...=(СТРОКА(Год)-2))*..." стоит "-2"?

Автор - Gromozeka
Дата добавления - 26.08.2013 в 07:58
Gromozeka Дата: Понедельник, 26.08.2013, 08:07 | Сообщение № 11
Группа: Пользователи
Ранг: Прохожий
Сообщений: 7
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
_Boroda_, точно! Понял, что такое "-2" (excel изучаю методом научного тыка). В моем случае это "-6". Все работает. спасибо!!!
 
Ответить
Сообщение_Boroda_, точно! Понял, что такое "-2" (excel изучаю методом научного тыка). В моем случае это "-6". Все работает. спасибо!!!

Автор - Gromozeka
Дата добавления - 26.08.2013 в 08:07
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2025 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!