|
|
|
| Подскажите как можно подсчетать кол-во дней
есть таблица, вот примет
дата_с дата_по
с 02.11.2009 по 05.11.2009
с 05.11.2009 по 08.11.2009
я написал запрос в котором просто идет вычетание дата_по - дата_с = 5-2=3, но + 1, т.к. должно быть 4ре дня и так для каждой строки,
второй запрос же делает сумму по строкам, во второй строке получается 8-5=3, так же +1, а потом суммируем строки и получается 8, а в действительности 7!! | |
|
| |
|
|
|
| Нужно для начала решить задачу без компьютера. И понять что бы хочется найти....
так сказать "физический смысл" того что ищем.
Определиться какие данные будут в этой таблице, можно ли периоды полученные в строках "тупо" складывать?
например если могут быть пересечения диапазонов ,
с 02.11.2009 по 05.11.2009
с 03.11.2009 по 08.11.2009
то вообще без VBA не обойтись.
Если могут быть дырки, то результат вроде будет правильным, но не факт что будет отображать то что ищем, например
с 02.11.2009 по 04.11.2009
с 07.11.2009 по 08.11.2009
4-2+1 = 3
8-7+1 = 2
4+2= 5
т.е. кол-во дней правильное,
но
02.11.2009 + 5 = 07.11.2009
Т.е. нужно понимать ЧТО именно нужно найти | |
|
| |
|
|
|
| Извиняюсь, что не уточнил. следующая строка всегда начинается с числа на которое заканчивается предыдущая, т.е. дата_по = дата_с, на следующей строке...
нашел выход один))) сначала в первом запросе только делать вычетание,
а во врором, уже по мимо Sum, просто прибавлять 1 )))
дата_с дата_по
с 02.11.2009 по 05.11.2009 =3
с 05.11.2009 по 08.11.2009 =3
с 08.11.2009 по 10.11.2009 =2
с 10.11.2009. по 13.11.2009 =3
общее =12 если уже +1
и должно быть 2,3,4,5,6,7,8,9,10,11,12,13 т.е. = 12
хм вроде получается)) | |
|
| |
|
|
|
| если вы уверены что пересечений и дырок не будет, то это вполне решение. | |
|
| |
|
|
|
| Ага, уверен! Спасибо большое за помощь! | |
|
| |