Let's see I can explain it a different way...
Are you using CR XI? I don't believe that the option is available before this version.
when you right click on a field one of the options around Insert and Move is 'Size and Position'. If you click on this, there is the option for X/Y and Width Height. You will notice that there is the function button 'X-2' next to X and width, since you are looking to move the fields, I will ignore the Width. If you wrote a formula based on a value for that value in the field, let's say if it is 0, move it to the right (just for example) by 1 inch.
So let's say your formula inside the x-2 button looks like:
if {field}=0 then 1 //this won't have moved by 1 inch as we assumed it would...but:
if {field}=0 then 1440 // this will move it by the inch that we wanted.
with this info, we can write a Report Custom Function which would take the value of the field, the width and a distance as arguements...something like: (let's say we called the function ShiftRight)
if {field}>0 then MoveRight + CellWidth*1440 + (.125*1440)
//this will return the value of the where the next cell should start.
it the 'x-2' button for the cell we want to move we might have something like;
shared numbervar AmountToMoveRight;
local numbervar tempMove := AmountToMoveRight; //this is where the cell should print
AmountToMoveRight := ShiftRight({field}, .65, AmountToMoveRight);
tempMove
the .65 is the size as reported in the SizePosition width value
this should shift the cells. You will still need to suppress the unwanted cells, and since the value is how much you will move the cell, not where the cell will end up (seems silly but that is how it works), all of the cells that you want to shift need to start in same spot...but experimentation will demonstrate this.
Last thing, you will need to set AmountToShiftRight to 0 at the start of each line. If there is a field that will always be shown, say name, I would put its x-2 button for X the reset command of:Shared Numbervar AmountToShiftRight :=0
Hope this is more helpful...or you might try to Google 'Size and Position' for Crystal Reports.