Страницы: 1
RSS
Вычисление сумм по дате.
 
Доброго дня.
Сломал голову, надеюсь вы поможете.

В файл такого вида:
номер дата началадата окончания 01.01.1602.01.16 03.01.16 04.01.16 ВИД
первый 01.01.16 04.01.16 1 2 3 4 БЕЛЫЙ
второй 02.01.16 03.01.16 54 3 2 БЕЛЫЙ
третий 03.01.16 05.01.164 3 2 1 КРАСНЫЙ
четвёртый ЖЕЛТЫЙ
...
Я вычислил сумму по номерам в датах от начала до окончания.
Например. сумма номера "первый" в дате от 01.01.16 - 04.01.16 имеет сумму 10 (сумма ячеек B4:B7) и так далее.

Вроде это я решил в таком виде:
Код
=ЕСЛИОШИБКА(СУММ(ДВССЫЛ(СЦЕПИТЬ(АДРЕС(ПОИСКПОЗ(A3;A:A);ПОИСКПОЗ(D3;$1:$1;0));":";АДРЕС(ПОИСКПОЗ(A3;A:A);ПОИСКПОЗ(E3;$1:$1;0)))));"Нет")

Только первая часть головоломки.

Далее сама головоломка.
Нужно в огромный файл вида (ниже):
Подставить значения таблицы которая выше и вычислить сумму по датам.
Пример:
Значение из ячейки A3 (таблица 1)

Вид: "белый"
Дата: "01.01.16 - 04.01.16"

Просканировать всю вторую таблицу по датам в примере (от 01.01 - 04.01 по параметру белый) и вычислить сумму, то есть те значения что я выделил и подчеркнул во второй таблице.

И таких значений много.

номер вид01.01.16 02.01.16 03.01.16 04.01.16 05.01.1606.01.16
1 белый 12 3 4 5 6
2 красный2 1 1 1 1 2
3 белый3 3 3 2 2 2
4 красный 1 11 1 1 1
5 красный 3 2 1 1 2 3

Если найдется кто может помочь, буду благодарен.
 
Если покажете свои данные в файле-примере (не обязательно все, достаточно строк 23-30, то помощь будет оказать значительно легче, потому как если просто формулу напишем - вы скажете "а у меня не работает", потому, что расположены данные не так, ячейки в формуле ссылаются не туда и т.д.
А за вас файл рисовать с данными - ну это уж за пределами добра и зла, согласитесь...
Так что куйте свое счастье. :)
Кому решение нужно - тот пример и рисует.
 
Во вложении пример.
На листе 1 в ячейке R есть вычисленная мной сумма по дате (c1 и d1) для каждого номера.
Задача состоит вот в чём:
Например, на листе 1 у нас есть номер 1111, цвета белый с датами 01.01.2011 по 07.01.2011.
Нужно на листе 2 найти сумму всех белых в этих датах (01.01.2011 по 07.01.2011) и разделить на значения из листа 1 ячейки R.
И так для каждого номера со своим цветом и датами.
Изменено: dadac21 - 13.01.2017 08:39:39
 
зачем такие страшные мудреные формулы на первом листе можно так
Код
=РАЗНДАТ(C2;D2;"d")+1
=СУММЕСЛИМН($F2:$O2;$F$1:$O$1;">="&C2;$F$1:$O$1;"<="&D2)
Цитата
dadac21 написал:
Нужно на листе 2 найти сумму всех белых в этих датах (01.01.2011 по 07.01.2011)
а это ваще не понятно у вас на 2 листе вообще 2016 год
Лень двигатель прогресса, доказано!!!
 
Цитата
Сергей написал: на 2 листе вообще 2016 год
опечатка
 
опечатка где в файле неправильно даты указаны?
Лень двигатель прогресса, доказано!!!
 
Этот файл я делал как пример, и данные там тоже примерные.
Там должна быть стоять такая же дата как и на 1 листе.
 
блин ну сделайте нормальный пример, с датами разобрались теперь еще вопросы что значит

Цитата
dadac21 написал: И так для каждого номера со своим цветом и датами
даты и цвет есть на обоих листах номер только на втором нужно делить сумму с листа 2 по каждой строке (номеру) на одну и ту же сумму с листа 1, т.е. для всех белых с разными номерами будет одна сумма с листа 1 с признаком белый
Лень двигатель прогресса, доказано!!!
 
как понял, понятнее от вас не дождешься  
Лень двигатель прогресса, доказано!!!
 
dadac21, все вопросы отпали не обратил внимания что бегунок сдвинут увидел номера на 1 листе ща переделаю размещу выше в отредактированном сообщении  
Лень двигатель прогресса, доказано!!!
 
Цитата
Сергей написал:
даты и цвет есть на обоих листах номер только на втором нужно делить сумму с листа 2 по каждой строке (номеру) на одну и ту же сумму с листа 1, т.е. для всех белых с разными номерами будет одна сумма с листа 1 с признаком белый
(номер и на первом листе есть)
Нужно взять даты и цвет с листа 1 и найти все похожие цвета на листе 2 в этих датах. Далее найденную сумму со второго листа поделить на сумму с листа 1 (ячейка R) и так по каждому значению с листа 1.
На примере будет понятнее.
Лист 1 - Ячейка A2 - номер 1111, цвет белый, даты 01.01.11 - 07.01.11, сумма 352.
Со второго листа надо найти все белые цвета в датах 01.01.11 - 07.01.11 и просуммировать. Получится 1133.
И это число поделить на сумму с 1 листа. 1133/352.
И то же самое с каждым номером с 1 листа.
 
Цитата
Сергей написал: как понял, понятнее от вас не дождешься
Спасибо, но это не то что мне нужно, данный пример правильные для одного значения, а мне нужно для всех белых со второго листа с определённой датой.
 
вариант №2 с учетом дат первого листа и номеров
Лень двигатель прогресса, доказано!!!
 
Номера вообще можно не учитывать.
В вашем примере вы учитываете только 1 белый цвет из ячейки A3, мне нужна сумма всех белых цветов со второго листа по датам с листа1 из ячейки C2:D2.
И так по каждому значению.
т.е лист1 ячейка B2 цвет белый с датами 01.01.2011-07.01.2011
Нужна сумма всех белых цветов с этими датами со второго листа.
лист 1 B3 синий цвет с датой 02.01.2011 - 06.01.2011
нужна сумма всех синих цветов с датой 02.01.2011-06.01.2011 со второго листа.
 
давайте так в примере в ФАЙЛЕ показывайте желаемый результат забитый ручками по всем позициям
Лень двигатель прогресса, доказано!!!
 
Я на второй лист вывел формулами, надеюсь поймёте.
 
обед был
Лень двигатель прогресса, доказано!!!
 
Спасибо, но это не то, что нужно.
Видимо тут без макроса никак не справиться.
Таблицей я хотел показать, чтобы вы поняли мою мысль, а не конечный результат.
У меня в таблице огромное количество номеров и огромное количество цветов и такой поиск по цвету невозможен.
 
Цитата
dadac21 написал:
огромное количество номеров и огромное количество цветов и такой поиск по цвету невозможен
хз тогда что надо, то упоминаете постоянно номера но при этом они не нужны, представлен рабочий вариант формулы которая ориентируется только на цвет но и это не то, ждите макроса
Лень двигатель прогресса, доказано!!!
 
я изначально неправильно поставил условие, надо было предоставить вырезку из файла с данными, а не номерами и цветами (это я сам придумал) так что тут мой косяк.
 
Вот так наверное будет более правильно.
На листе 1 есть завод 1111 в Маями с датами 01.09 - 10.09.
Нужно на листе 2 найти сумму всех заводов из Маями в числах от 01.09 - 10.09 и получившееся разделить на сумму завода 1111 с 1 листа (ячейка Q3).
И тоже самое сделать с остальными заводами с 1 листа.
т.е завод 2222 из Нью-йорка в числах 02.09 - 10.09, найти на 2 листе все заводы из нью-йорка и суммировать значения в этих датах (02.09-10.09) и разделить на сумму завода 2222 с 1 листа. (Q4)
Вроде внятно написал.
Как думаете, такое только макросом можно сделать?
главная проблема в том, что таких заводов очень много и в ручную этого не сделать.
Изменено: dadac21 - 13.01.2017 13:10:31
Страницы: 1
Наверх