ok so my co-worker has a spreadsheet that someone made for her with a date function in a format she needs.

=IF((((VALUE(TEXT(Worksheet!D3,"dd"))/10))-(FIXED(VALUE(TEXT(Worksheet!D3,"dd"))/10,0)))*10=1,+(TEXT(Worksheet!D3,"d")&"st day of "&(+TEXT(+Worksheet!D3,"mmmm"))&", "&TEXT(+Worksheet!D3,"yyyy")),IF((((VALUE(TEXT(Worksheet!D3,"dd"))/10))-(FIXED(VALUE(TEXT(Worksheet!D3,"dd"))/10,0)))*10=2,+(TEXT(Worksheet!D3,"d")&"nd day of "&(+TEXT(+Worksheet!D3,"mmmm"))&", "&TEXT(+Worksheet!D3,"yyyy")),IF((((VALUE(TEXT(Worksheet!D3,"dd"))/10))-(FIXED(VALUE(TEXT(Worksheet!D3,"dd"))/10,0)))*10=3,+(TEXT(Worksheet!D3,"d")&"rd day of "&(+TEXT(+Worksheet!D3,"mmmm"))&", "&TEXT(+Worksheet!D3,"yyyy")),+(TEXT(Worksheet!D3,"d")&"th day of "&(+TEXT(+Worksheet!D3,"mmmm"))&", "&TEXT(+Worksheet!D3,"yyyy")))))

it works but there is a bug in it and the guy that did it for her can't figure it out and neither can I. On the 11th of each month the date in the cell will show up as "11st day of April, 2007". Every other date works fine. Its just wrong for the 11th. Any help would be appreciated whether it be fixing this function or a completely easier one. Thanks