I think you need to convert your numerics to character fields with the proper formats. This is just made up data - but I think you want to do something along these lines: data work.class; set sashelp.class; format height2 ratio2 $32.; if height>60 then height2=put (height,dollar6.2);else if height <60 and height >57 then height2=put (height,comma6.2);else height2=put (height,percent6.2); ratio=height/weight; if ratio > .7 then ratio2 = put (ratio,percent6.2);else ratio2=put (ratio,dollar6.2); run; ods HTML4 file='c:\temp\excelreport.xls'; proc report data=work.class nowd LS=160 PS=50 SPLIT="*" contents='' style(report)={ bordercolor=grey font_size=11pt } style(column)={ bordercolor=#ddddff font_size=11pt bordercolor=grey cellspacing=1} style(header)={background=#000075 foreground=white cellheight=40 font_size=12pt}; column name sex age height2 weight ratio2 ; define name / 'Name'; define sex / 'Sex'; define age / 'Age'; define height2 / display 'Height' ; define weight / display 'weight' format=comma6.2; define ratio2 / display 'Ratio'; run; ods _all_ close; This can give you a mixed format within a column. Name Sex Age Height weight Ratio Alfred M 14 $69.00 112.50 $0.61 Alice F 13 6E3% 84.00 $0.67 Barbara F 13 $65.30 98.00 $0.67 Carol F 14 $62.80 102.50 $0.61 Henry M 14 $63.50 102.50 $0.62 James M 12 57.30 83.00 $0.69 Jane F 12 59.80 84.50 71% Janet F 15 $62.50 112.50 $0.56 Jeffrey M 13 $62.50 84.00 74% John M 12 59.00 99.50 $0.59 Joyce F 11 5E3% 50.50 102% Judy F 14 $64.30 90.00 71% Louise F 12 6E3% 77.00 73% Mary F 15 $66.50 112.00 $0.59 Philip M 16 $72.00 150.00 $0.48 Robert M 12 $64.80 128.00 $0.51 Ronald M 15 $67.00 133.00 $0.50 Thomas M 11 57.50 85.00 $0.68 William M 15 $66.50 112.00 $0.59
... View more