А1 = дата март 2011 В1 = число этого месяца например 31 (это дата активации) С1 = дней со времени активации в данном месяце, т. е. сюда нужна формула, которая бы посчитала следующее (31 (число активации)-31 (дней в марте 2011года) + 1 (день активности в марте 2011). Получается что дней активности в марте было только один 31 марта 2011 года. Значит формула должна ссылаться на ячейку А1 в которой понимала что в месяце 2011 столько то дней. Таких дат много. Надо точно высчитать сколько дней активности в каждом случае было. На калькуляторе получается. Хотелось бы в таблице забить такую формулу. Понимаю что такой расчёт возможен, но как его сделать пока не могу догадаться. Может кто поможет?
А1 = дата март 2011 В1 = число этого месяца например 31 (это дата активации) С1 = дней со времени активации в данном месяце, т. е. сюда нужна формула, которая бы посчитала следующее (31 (число активации)-31 (дней в марте 2011года) + 1 (день активности в марте 2011). Получается что дней активности в марте было только один 31 марта 2011 года. Значит формула должна ссылаться на ячейку А1 в которой понимала что в месяце 2011 столько то дней. Таких дат много. Надо точно высчитать сколько дней активности в каждом случае было. На калькуляторе получается. Хотелось бы в таблице забить такую формулу. Понимаю что такой расчёт возможен, но как его сделать пока не могу догадаться. Может кто поможет?User
Public Function DaysinMonth(Optional pDate As Date = 0) As Integer If pDate = 0 Then pDate = Date End If DaysinMonth = DateSerial(Year(pDate), Month(pDate) + 1, 1) - DateSerial(Year(pDate), Month(pDate), 1) End Function
[/vba]
Могу предложить UDF:
[vba]
Код
Public Function DaysinMonth(Optional pDate As Date = 0) As Integer If pDate = 0 Then pDate = Date End If DaysinMonth = DateSerial(Year(pDate), Month(pDate) + 1, 1) - DateSerial(Year(pDate), Month(pDate), 1) End Function