Create ordinal number format in Excel

Anonymous
2010-08-09T14:55:38+00:00

Hello,

I am wondering if anyone knows (or knows of any resources that describe) how to create an ordinal number format in MS Excel.

I am well aware of how to reformat numbers as text to create the ordinal number effect, but what I would like to do is have the numberdisplay as an ordinal number (e.g., "1st", "2nd", "3rd", etc.) while still retaining its numeric value (1, 2, 3, etc.).

The reason for this request is to be able to perform numeric functions (e.g., MIN, MAX, AVERAGE, etc.) on an array of ordinal numbers.

I have a spreadsheet that lists various athletes' scores and the ranking for each score.  I would like to be able to easily determine, for example, each athlete's best ranking by using a MIN() function on the list of ordinal numbers.  Currently the only way I can think to do this is by having the rankings as regular cardinal numbers.

I suppose it would be possible to have an adjacent, hidden column with the numeric value of each ranking, but I thought it might be more elegant if there was a way to change the format of the number without changing its value.

Any help is much appreciated!

Regards,

Craig

Microsoft 365 and Office | Excel | For home | Windows

Locked Question. This question was migrated from the Microsoft Support Community. You can vote on whether it's helpful, but you can't add comments or replies or follow the question.

0 comments No comments

58 answers

Sort by: Most helpful
  1. Anonymous
    2010-08-09T15:55:59+00:00

    With

    A1: a number....eg 101

    This formula returns the ordinal version of that number

    B1: =A1&" "&MID("thstndrdthstndrdth",MATCH(IF(MOD(A1,100)>29,MOD(A1,10)+20,MOD(A1,100)),{0,1,2,3,4,21,22,23,24},1)*2-1,2)

    In the above example, the formula returns: 101 st

    Does that help?


    Ron Coderre

    Microsoft MVP (2006 - 2010) - Excel

    P.S. If any post answers your question, please mark it as the Answer (so it won't keep showing as an open item.)

    Was this answer helpful?

    10 people found this answer helpful.
    0 comments No comments
  2. Anonymous
    2011-02-27T21:41:39+00:00

    As with so many such problems, the trick from Excel 2007 onwards is to use conditional formatting, since the format you choose for matching cells can be to change the number format as well as the "pretty" things like colours and borders.

    Use a cell number format of #"th" for all cells, then three conditions which apply, with formulas such as:

    =AND(A1<>11,MOD(A1,10)=1)  for these cells use format #"st"

    etc.

    Hope this helps

    Was this answer helpful?

    3 people found this answer helpful.
    0 comments No comments
  3. Anonymous
    2010-08-09T16:04:48+00:00

    Ron,

    Yes, this would help, but I was wondering if there is any way to format the cell/number directly, rather than having to use "helper" cells.

    I am willing to use VBA to accomplish this if need be, as the workbook in question already has other user-defined functions programmed in VBA.

    Thanks,

    Craig

    Was this answer helpful?

    1 person found this answer helpful.
    0 comments No comments
  4. Anonymous
    2010-08-09T15:47:56+00:00

    There is no simple solution to this. You can either use an adjascent column or you can use a macro. Depends which direction you want to go. We can help you with either way... What would be your preference?


    If this post answers your question, please mark it as the Answer... Jim Thomlinson

    Was this answer helpful?

    1 person found this answer helpful.
    0 comments No comments
  5. Anonymous
    2010-08-09T15:11:22+00:00

    go into formatting and pick "custom"

    write 0"th" for numbers 4 and up, and 0"st", 0"nd", 0"rd" for numbers 1, 2 and 3 respectively.

    Was this answer helpful?

    1 person found this answer helpful.
    0 comments No comments