ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   dates to text (https://www.excelbanter.com/excel-programming/412834-dates-text.html)

davegb[_2_]

dates to text
 
I'm trying to figure out how to convert same dates I have into a text
string. I.e., in cells F4 and F5 there are dates resulting from
manipulation of other dates. If the 2 dates are June 1, 2005 and Aug 1
2006, I want a text field that looks like:
06-12,05 - 01-08,06.
It lists the remaining months in the year and the months up to the
second date. If there's a full intervening year, it should list that
as 01-12,06 between the other two. Is this doable w/o code? If I need
to write a program, I will.
Thanks for the help.

joel

dates to text
 
You need to concatenate two strings with an "&"

=text(F4,"mm-dd,yy")&" - "&text(F5,"mm-dd,yy")


"davegb" wrote:

I'm trying to figure out how to convert same dates I have into a text
string. I.e., in cells F4 and F5 there are dates resulting from
manipulation of other dates. If the 2 dates are June 1, 2005 and Aug 1
2006, I want a text field that looks like:
06-12,05 - 01-08,06.
It lists the remaining months in the year and the months up to the
second date. If there's a full intervening year, it should list that
as 01-12,06 between the other two. Is this doable w/o code? If I need
to write a program, I will.
Thanks for the help.


salgud

dates to text
 
On Thu, 19 Jun 2008 10:00:02 -0700, Joel wrote:

You need to concatenate two strings with an "&"

=text(F4,"mm-dd,yy")&" - "&text(F5,"mm-dd,yy")

Thanks for your reply, it helps. But it's not quite what I'm asking for.
I'm beginning to think I'll need some code to create the string.

"davegb" wrote:

I'm trying to figure out how to convert same dates I have into a text
string. I.e., in cells F4 and F5 there are dates resulting from
manipulation of other dates. If the 2 dates are June 1, 2005 and Aug 1
2006, I want a text field that looks like:
06-12,05 - 01-08,06.
It lists the remaining months in the year and the months up to the
second date. If there's a full intervening year, it should list that
as 01-12,06 between the other two. Is this doable w/o code? If I need
to write a program, I will.
Thanks for the help.


joel

dates to text
 
Try this. it is the old formula for less the 2 years different from F4 to
F5. I added a third date if there is a full year between the dates.

=IF(YEAR(F5)-YEAR(F4)<2,TEXT(F4,"mm-dd,yy")&" -
"&TEXT(F5,"mm-dd,yy"),TEXT(F4,"mm-dd,yy")&" -
"&TEXT(F4,"mm-dd,")&RIGHT(YEAR(F4)+1,2)&" - "&TEXT(F5,"mm-dd,yy"))
"salgud" wrote:

On Thu, 19 Jun 2008 10:00:02 -0700, Joel wrote:

You need to concatenate two strings with an "&"

=text(F4,"mm-dd,yy")&" - "&text(F5,"mm-dd,yy")

Thanks for your reply, it helps. But it's not quite what I'm asking for.
I'm beginning to think I'll need some code to create the string.

"davegb" wrote:

I'm trying to figure out how to convert same dates I have into a text
string. I.e., in cells F4 and F5 there are dates resulting from
manipulation of other dates. If the 2 dates are June 1, 2005 and Aug 1
2006, I want a text field that looks like:
06-12,05 - 01-08,06.
It lists the remaining months in the year and the months up to the
second date. If there's a full intervening year, it should list that
as 01-12,06 between the other two. Is this doable w/o code? If I need
to write a program, I will.
Thanks for the help.



Rick Rothstein \(MVP - VB\)[_2153_]

dates to text
 
I think this VB function will do what you want. Place it in a Module and you
can either call it from within your own subroutines and/or functions or
simply call it as a User Defined Function (UDF) from the worksheet itself.
Just pass in two dates (in any order) and it should return a text string
containing what you requested...

Function MakeDateRange(D1 As Date, D2 As Date) As String
Dim Y As Long
Dim StartDate As Date
Dim EndDate As Date
If D1 < D2 Then
StartDate = D1
EndDate = D2
Else
StartDate = D2
EndDate = D1
End If
If Year(StartDate) = Year(EndDate) Then
MakeDateRange = Format(StartDate, "mm") & "-" & _
Format(EndDate, "mm") & "," & Right(Year(EndDate), 2)
Else
MakeDateRange = Format(StartDate, "mm") & "-12," & _
Right(Year(StartDate), 2) & " - "
For Y = Year(StartDate) + 1 To Year(EndDate) - 1
MakeDateRange = MakeDateRange & "01-12," & Right(Y, 2) & " - "
Next
MakeDateRange = MakeDateRange & "01-" & Format(EndDate, "mm") & _
"," & Right(Year(EndDate), 2)
End If
End Function


Rick

"davegb" wrote in message
...
I'm trying to figure out how to convert same dates I have into a text
string. I.e., in cells F4 and F5 there are dates resulting from
manipulation of other dates. If the 2 dates are June 1, 2005 and Aug 1
2006, I want a text field that looks like:
06-12,05 - 01-08,06.
It lists the remaining months in the year and the months up to the
second date. If there's a full intervening year, it should list that
as 01-12,06 between the other two. Is this doable w/o code? If I need
to write a program, I will.
Thanks for the help.




All times are GMT +1. The time now is 03:01 PM.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
ExcelBanter.com