Reply
 
LinkBack Thread Tools Search this Thread Display Modes
  #1   Report Post  
Hokie Bear
 
Posts: n/a
Default Sorting data using roman numerals....

Is there any way to sort data using Roman numerals as the "sort by" column?
Excel treats it as text and places IX before V. I can make it work by adding
a column and manually converting the Roman numerals to regular numbers and
sorting on that, but for some of my reports, that too much data to manually
convert.

Come on guys, make me look like a hero!!
  #2   Report Post  
JEV
 
Posts: n/a
Default

I'm thinking you could build a lookup table once to add a converted column of
arabic or regular numbers for sorting purposes on all your worksheets.

Going forward you could use arabic numbers and use the ROMAN function to
convert to the roman numerals. You'd have both in one worksheet.

Maybe you can build a custom list and use that for your sort order...

Hope some of these ideas help,
Jeanine

"Hokie Bear" wrote:

Is there any way to sort data using Roman numerals as the "sort by" column?
Excel treats it as text and places IX before V. I can make it work by adding
a column and manually converting the Roman numerals to regular numbers and
sorting on that, but for some of my reports, that too much data to manually
convert.

Come on guys, make me look like a hero!!

  #3   Report Post  
Gary's Student
 
Posts: n/a
Default

You will need to convert the Roman numerals into numbers that Excel can sort.
See:

http://groups-beta.google.com/group/...bd85d9e5?hl=en
--
Gary's Student


"Hokie Bear" wrote:

Is there any way to sort data using Roman numerals as the "sort by" column?
Excel treats it as text and places IX before V. I can make it work by adding
a column and manually converting the Roman numerals to regular numbers and
sorting on that, but for some of my reports, that too much data to manually
convert.

Come on guys, make me look like a hero!!

  #4   Report Post  
Paul Sheppard
 
Posts: n/a
Default


Hokie Bear Wrote:
Is there any way to sort data using Roman numerals as the "sort by"
column?
Excel treats it as text and places IX before V. I can make it work by
adding
a column and manually converting the Roman numerals to regular numbers
and
sorting on that, but for some of my reports, that too much data to
manually
convert.

Come on guys, make me look like a hero!!


Hi Hokie Bear

Instead of manually converting the Roman numerals why not use a lookup
table

In a separate area of the sreadsheet create a table with Col 1 Roman
Numerals Column 2 Regular numbers

then in the column next to your roman numerals use the VLOOKUP function
to return the value for you


--
Paul Sheppard


------------------------------------------------------------------------
Paul Sheppard's Profile: http://www.excelforum.com/member.php...o&userid=24783
View this thread: http://www.excelforum.com/showthread...hreadid=397231

  #5   Report Post  
Excel_Geek
 
Posts: n/a
Default


Hokie Bear,

Here's an excel file (attached) in which I crafted a macro that will
sort a selected group of cells using Roman numerals.

It's another option for you to explore.


+-------------------------------------------------------------------+
|Filename: For_Hokie Bear.zip |
|Download: http://www.excelforum.com/attachment.php?postid=3712 |
+-------------------------------------------------------------------+

--
Excel_Geek


------------------------------------------------------------------------
Excel_Geek's Profile: http://www.excelforum.com/member.php...o&userid=26423
View this thread: http://www.excelforum.com/showthread...hreadid=397231



  #6   Report Post  
Hokie Bear
 
Posts: n/a
Default

Thanks to all for the quick response. I think a VLOOKUP table is the way to
go. While I'd hoped for an easier solution (i.e. a way for excel to
recognize Roman numerals by formatting or something), a VLOOKUP table is the
least painful.

This is my first experience on this board and while I'm unsure about using
macros from unknown people, I appreciated those responses also.

Thanks, again!
  #7   Report Post  
Dave Peterson
 
Posts: n/a
Default

If you want a UDF to convert those Roman numerals to Arabic:

I don't remember who wrote this, but I grabbed this a few years ago:


Option Explicit
Function Arabic(Roman)
'Declare variables
Dim Arabicvalues() As Integer
Dim convertedvalue As Long
Dim currentchar As String * 1
Dim i As Integer
Dim message As String
Dim numchars As Integer

'Trim argument, get argument length, and redimension array
Roman = LTrim(RTrim(Roman))
numchars = Len(Roman)
If numchars = 0 Then 'if arg is null, we're outta here
Arabic = ""
Exit Function
End If

ReDim Arabicvalues(numchars)
'Convert each Roman character to its Arabic equivalent
'If any character is invalid, display message and exit
For i = 1 To numchars
currentchar = Mid(Roman, i, 1)
Select Case UCase(currentchar)
Case "M": Arabicvalues(i) = 1000
Case "D": Arabicvalues(i) = 500
Case "C": Arabicvalues(i) = 100
Case "L": Arabicvalues(i) = 50
Case "X": Arabicvalues(i) = 10
Case "V": Arabicvalues(i) = 5
Case "I": Arabicvalues(i) = 1
Case Else
Arabic = "Sorry, " & Roman & " is not a valid Roman numeral! "
Exit Function
End Select
Next i

'If any value is less than its neighbor to the right,
'make that value negative
For i = 1 To numchars - 1
If Arabicvalues(i) < Arabicvalues(i + 1) Then
Arabicvalues(i) = Arabicvalues(i) * -1
End If
Next i
'Build Arabic total
For i = 1 To numchars
Arabic = Arabic + Arabicvalues(i)
Next i

End Function

Then you could use a column of helper cells to get the numeric value and sort
your range by that.



Hokie Bear wrote:

Is there any way to sort data using Roman numerals as the "sort by" column?
Excel treats it as text and places IX before V. I can make it work by adding
a column and manually converting the Roman numerals to regular numbers and
sorting on that, but for some of my reports, that too much data to manually
convert.

Come on guys, make me look like a hero!!


--

Dave Peterson
  #8   Report Post  
Tushar Mehta
 
Posts: n/a
Default

In article ,
says...
If you want a UDF to convert those Roman numerals to Arabic:

I don't remember who wrote this, but I grabbed this a few years ago:

{snip}

'If any value is less than its neighbor to the right,
'make that value negative

While there is probably no harm in this rule, from what I recall, there
were certain combinations that were actually disallowed. I believe
Harlan Grove posted a solution that took that into account.
Unfortunately(?), it was a typical Harlan, i.e., a complicated formula.

--
Regards,

Tushar Mehta
www.tushar-mehta.com
Excel, PowerPoint, and VBA add-ins, tutorials
Custom MS Office productivity solutions

In article ,
says...
If you want a UDF to convert those Roman numerals to Arabic:

I don't remember who wrote this, but I grabbed this a few years ago:


Option Explicit
Function Arabic(Roman)
'Declare variables
Dim Arabicvalues() As Integer
Dim convertedvalue As Long
Dim currentchar As String * 1
Dim i As Integer
Dim message As String
Dim numchars As Integer

'Trim argument, get argument length, and redimension array
Roman = LTrim(RTrim(Roman))
numchars = Len(Roman)
If numchars = 0 Then 'if arg is null, we're outta here
Arabic = ""
Exit Function
End If

ReDim Arabicvalues(numchars)
'Convert each Roman character to its Arabic equivalent
'If any character is invalid, display message and exit
For i = 1 To numchars
currentchar = Mid(Roman, i, 1)
Select Case UCase(currentchar)
Case "M": Arabicvalues(i) = 1000
Case "D": Arabicvalues(i) = 500
Case "C": Arabicvalues(i) = 100
Case "L": Arabicvalues(i) = 50
Case "X": Arabicvalues(i) = 10
Case "V": Arabicvalues(i) = 5
Case "I": Arabicvalues(i) = 1
Case Else
Arabic = "Sorry, " & Roman & " is not a valid Roman numeral! "
Exit Function
End Select
Next i

'If any value is less than its neighbor to the right,
'make that value negative
For i = 1 To numchars - 1
If Arabicvalues(i) < Arabicvalues(i + 1) Then
Arabicvalues(i) = Arabicvalues(i) * -1
End If
Next i
'Build Arabic total
For i = 1 To numchars
Arabic = Arabic + Arabicvalues(i)
Next i

End Function

Then you could use a column of helper cells to get the numeric value and sort
your range by that.



Hokie Bear wrote:

Is there any way to sort data using Roman numerals as the "sort by" column?
Excel treats it as text and places IX before V. I can make it work by adding
a column and manually converting the Roman numerals to regular numbers and
sorting on that, but for some of my reports, that too much data to manually
convert.

Come on guys, make me look like a hero!!



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
How to maintain hyperlink when sorting data? KJ Excel Discussion (Misc queries) 2 October 16th 05 12:01 PM
Automatically sorting data leehutch Excel Discussion (Misc queries) 4 August 22nd 05 06:36 AM
Sorting Data from 2 sheets, one sheet which is already sorted M. S. Excel Worksheet Functions 0 July 15th 05 06:42 PM
Hyperlinks and sorting data Rena Excel Discussion (Misc queries) 0 June 3rd 05 07:50 PM
how do you prevent data from changing values when sorting linked . Cassie Excel Discussion (Misc queries) 0 March 4th 05 10:45 AM


All times are GMT +1. The time now is 05:30 AM.

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

About Us

"It's about Microsoft Excel"