Reply
 
LinkBack Thread Tools Search this Thread Display Modes
  #1   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 27
Default Financial Quarter from dd/mm/yyyy

Hi All,

I regularly need to derive a financial quarter from a date (dd/mm/yyyy) so I
decided to create a function to do it for me but I'm really struggling! The
problem is that the year runs from April to March NOT Jan to Dec.

I have a column of dates and I want the function to return the quarter and
year something like
Date is 25/04/2005
Result should be Q1 05/06 (ie the first quarter in the financial year which
spans 2005 and 2006)

I have got the Q bit sorted but the yy/yy bit just wont play ball.

For what its worth, heres what I have done (which doesn't work!!!)

Public Function FinancialQuarter (Mydate)
Dim lngQ As Long
Dim lngY As Long

If Month(MyDate) / 3 <= 1 Then
lngQ = 4
Else
lngQ = Month(MyDate) / 3 - 1
End If
If lngQ = 4 Then
lngY = Mid(Year(MyDate), 3, 2) - 1 & "/" & Mid(Year(MyDate), 3, 2)
Else
lngY = Mid(Year(MyDate), 3, 2) & "/" & Mid(Year(MyDate), 3, 2) + 1
End If
FinancialQuarter = "Q" & lngQ & " " & lngY
End Function


I'm sure there is a simple way to do this but I am only fairly new to this.

Any help greatly appreciated.

Paul
  #2   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 11,123
Default Financial Quarter from dd/mm/yyyy

Hi pablo

This add -in have a option to insert a column with a formula for you
http://www.rondebruin.nl/datarefiner.htm


EasyFilter can filter for you without inserting the formulas
http://www.rondebruin.nl/easyfilter.htm



--
Regards Ron de Bruin
http://www.rondebruin.nl


"pablo bellissimo" wrote in message
...
Hi All,

I regularly need to derive a financial quarter from a date (dd/mm/yyyy) so I
decided to create a function to do it for me but I'm really struggling! The
problem is that the year runs from April to March NOT Jan to Dec.

I have a column of dates and I want the function to return the quarter and
year something like
Date is 25/04/2005
Result should be Q1 05/06 (ie the first quarter in the financial year which
spans 2005 and 2006)

I have got the Q bit sorted but the yy/yy bit just wont play ball.

For what its worth, heres what I have done (which doesn't work!!!)

Public Function FinancialQuarter (Mydate)
Dim lngQ As Long
Dim lngY As Long

If Month(MyDate) / 3 <= 1 Then
lngQ = 4
Else
lngQ = Month(MyDate) / 3 - 1
End If
If lngQ = 4 Then
lngY = Mid(Year(MyDate), 3, 2) - 1 & "/" & Mid(Year(MyDate), 3, 2)
Else
lngY = Mid(Year(MyDate), 3, 2) & "/" & Mid(Year(MyDate), 3, 2) + 1
End If
FinancialQuarter = "Q" & lngQ & " " & lngY
End Function


I'm sure there is a simple way to do this but I am only fairly new to this.

Any help greatly appreciated.

Paul



  #3   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 27,285
Default Financial Quarter from dd/mm/yyyy

Public Function Qtr(sStr As String)
Dim dt As Date, dt1 As Date
Dim Yr As Long
dt = CDate(sStr)
dt1 = DateSerial(Year(dt), Month(dt) + 9, 1)
Yr = Format(dt1, "YY") - 1
Qtr = Format(dt1, "\QQ ") & Format(Yr, "00/") & Format(dt1, "YY")
End Function

Sub Tester1()
For i = 1 To 12
dt = DateSerial(2005, i, 25)
Debug.Print dt, Qtr(Format(dt, "mm/dd/yy"))
Next
End Sub

produces:
01/25/2005 Q4 04/05
02/25/2005 Q4 04/05
03/25/2005 Q4 04/05
04/25/2005 Q1 05/06
05/25/2005 Q1 05/06
06/25/2005 Q1 05/06
07/25/2005 Q2 05/06
08/25/2005 Q2 05/06
09/25/2005 Q2 05/06
10/25/2005 Q3 05/06
11/25/2005 Q3 05/06
12/25/2005 Q3 05/06

Might be able to cobble something together from that.

--
Regards,
Tom Ogilvy


"pablo bellissimo" wrote in
message ...
Hi All,

I regularly need to derive a financial quarter from a date (dd/mm/yyyy) so

I
decided to create a function to do it for me but I'm really struggling!

The
problem is that the year runs from April to March NOT Jan to Dec.

I have a column of dates and I want the function to return the quarter and
year something like
Date is 25/04/2005
Result should be Q1 05/06 (ie the first quarter in the financial year

which
spans 2005 and 2006)

I have got the Q bit sorted but the yy/yy bit just wont play ball.

For what its worth, heres what I have done (which doesn't work!!!)

Public Function FinancialQuarter (Mydate)
Dim lngQ As Long
Dim lngY As Long

If Month(MyDate) / 3 <= 1 Then
lngQ = 4
Else
lngQ = Month(MyDate) / 3 - 1
End If
If lngQ = 4 Then
lngY = Mid(Year(MyDate), 3, 2) - 1 & "/" & Mid(Year(MyDate), 3, 2)
Else
lngY = Mid(Year(MyDate), 3, 2) & "/" & Mid(Year(MyDate), 3, 2) + 1
End If
FinancialQuarter = "Q" & lngQ & " " & lngY
End Function


I'm sure there is a simple way to do this but I am only fairly new to

this.

Any help greatly appreciated.

Paul



  #4   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 27
Default Financial Quarter from dd/mm/yyyy

Absolute genius!! I'm not sure I completely understand it... but it works
perfectly!

Many Thanks

Paul

"Tom Ogilvy" wrote:

Public Function Qtr(sStr As String)
Dim dt As Date, dt1 As Date
Dim Yr As Long
dt = CDate(sStr)
dt1 = DateSerial(Year(dt), Month(dt) + 9, 1)
Yr = Format(dt1, "YY") - 1
Qtr = Format(dt1, "\QQ ") & Format(Yr, "00/") & Format(dt1, "YY")
End Function

Sub Tester1()
For i = 1 To 12
dt = DateSerial(2005, i, 25)
Debug.Print dt, Qtr(Format(dt, "mm/dd/yy"))
Next
End Sub

produces:
01/25/2005 Q4 04/05
02/25/2005 Q4 04/05
03/25/2005 Q4 04/05
04/25/2005 Q1 05/06
05/25/2005 Q1 05/06
06/25/2005 Q1 05/06
07/25/2005 Q2 05/06
08/25/2005 Q2 05/06
09/25/2005 Q2 05/06
10/25/2005 Q3 05/06
11/25/2005 Q3 05/06
12/25/2005 Q3 05/06

Might be able to cobble something together from that.

--
Regards,
Tom Ogilvy


"pablo bellissimo" wrote in
message ...
Hi All,

I regularly need to derive a financial quarter from a date (dd/mm/yyyy) so

I
decided to create a function to do it for me but I'm really struggling!

The
problem is that the year runs from April to March NOT Jan to Dec.

I have a column of dates and I want the function to return the quarter and
year something like
Date is 25/04/2005
Result should be Q1 05/06 (ie the first quarter in the financial year

which
spans 2005 and 2006)

I have got the Q bit sorted but the yy/yy bit just wont play ball.

For what its worth, heres what I have done (which doesn't work!!!)

Public Function FinancialQuarter (Mydate)
Dim lngQ As Long
Dim lngY As Long

If Month(MyDate) / 3 <= 1 Then
lngQ = 4
Else
lngQ = Month(MyDate) / 3 - 1
End If
If lngQ = 4 Then
lngY = Mid(Year(MyDate), 3, 2) - 1 & "/" & Mid(Year(MyDate), 3, 2)
Else
lngY = Mid(Year(MyDate), 3, 2) & "/" & Mid(Year(MyDate), 3, 2) + 1
End If
FinancialQuarter = "Q" & lngQ & " " & lngY
End Function


I'm sure there is a simple way to do this but I am only fairly new to

this.

Any help greatly appreciated.

Paul




Reply
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules

Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On


Similar Threads
Thread Thread Starter Forum Replies Last Post
Formula bar shows mm/dd/yyyy. To show dd/mm/yyyy. How? magna Excel Discussion (Misc queries) 2 January 1st 08 08:14 AM
How do I convert a birthdate format from yyyy/mm/dd to mm/dd/yyyy Amy Ann Excel Worksheet Functions 3 December 13th 07 08:07 PM
how do I change date from mm/dd/yyyy to dd:mm:yyyy format in Excel Jack Wilson New Users to Excel 4 July 18th 06 01:57 PM
change birthday display from mm/dd/yyyy to HIDE the yyyy? johnp Excel Worksheet Functions 1 May 9th 06 09:56 PM
opening excel file - date format problem: DD/MM/YYYY vs MM/DD/YYYY yung Excel Programming 2 March 18th 05 12:50 PM


All times are GMT +1. The time now is 10:29 PM.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Copyright ©2004-2024 ExcelBanter.
The comments are property of their posters.
 

About Us

"It's about Microsoft Excel"