I have a combination chart, with stacked column bars and a plot line. At the top of each stacked column is a no-fill total bar with visible data labels. The data labels overlap with the points on the plot line and I would like to manually raise them about an inch for better readability.

Currently, the data labels for total are set to inside base, but I don't see a way to manually adjust this position for all labels at once beyond the three options listed (center, inside end, inside base).

I know I can go through and move each individual label around, but am looking for a way to do it all at once, keeping it uniform and clean.

Here's an image of a similar type chart. In my case, I need the data labels raised for the totals and I'm using stacked columns.

enter image description here

  • Are you not able to group-select using Alt+Left Mouse or Ctrl+Left mouse? – spikey_richie Sep 28 '17 at 15:04
  • @spikey_richie I thought that might work as well, but it doesn't in this case. – Jordan Sep 28 '17 at 15:08
  • Can you stick the sheet on dropbox? – spikey_richie Sep 28 '17 at 15:12

Let's say you're starting from a chart like this: stacked columns of widget sales by type, and a line chart showing a general revenue trend.

enter image description here

You want to display the total widget label above each column, but the line is in the way - so any labels would need to be raised above the line somehow.

Add a 'ghost' series

You can't position labels arbitrarily on the chart without manually moving them round - not ideal. So you can create a 'ghost' series where the column is invisible but the labels that sit above it are visible.

  1. In your data table, add a column titled ghost. Enter a formula something like =B2+5000, and copy down. The ghost column can not be on the same vertical axis as your stacked data on the chart - so make sure the formula uses the data from your line series (column B in my data), plus an extra amount to push the label higher up the chart. I've used 5000 here, but play with the number once you're up and running to nudge the labels up and down.

  2. Right-click your chart and click Select Data. Add a new series, and select the range for your 'ghost' column.

  3. On the ribbon go to the Chart Tools, Design tab and click Change Chart Type. In the Custom Combination screen, scroll down and set 'ghost' to Clustered Column (ie unstacked column) and click OK.

  4. Right-click the new column that's appeared on your chart and click Add data labels. Now right-click a column from that series, and change the fill to No fill.

  5. Right-click the labels that have appeared. Click format data labels. Make sure Outside end is selected, then tick value from cells. Now select the data range containing the labels you want to see on your chart - in my case 'Total Widgets' (don't include the column heading itself). Finally untick Value from the Label Contains...

    enter image description here

  6. That's it! Nudge the labels up or down as you need using the formula in the 'ghost' column.

enter image description here

| improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.