It should work the way you have it (or the way alexmeia suggests).
But, (this being IE), the headers Q1, Q2, etc. are pushing the table columns wider than the 14 px you've requested.
The columns are right justified within the 14px you've defined, but the divs are not moving to the right in IE. (The div is staying within the 14px defined for it even though the column is actually wider than 14px)
To illustrate this, you can either make the width say 28px or change the color of one of the backgrounds to demonstrate the difference between the td and the div within in.
.workloadcell {
background-color: #E6D7E9;
padding: 0px;
width: 14px;
height: 16px;
text-align: right;
}
div.workload {
background-color: #E6EEE9;
text-align: right;
width: 14px;
float: right;
}
The solution for IE is to either not define a width or to make it wide enough to accomodate the header.