I have a simple line chart that I’ve added data labels to:

But I don’t want all those labels. I only want the top and bottom 10% (arbitrary number) values to be shown. For example, in the picture I’d only want the labels for 51, 54, 57, 61, 66, 68, 74 to show. I can manually delete the other labels but the chart data changes dynamically over time. Is there a method for accomplishing this? The text in those labels is a placeholder right now and will eventually be 6-10 characters long, at which point having all those labels will just be a complete mess.
I’m not real confident in VBA so I’d only like to fall back on that as a last resort.
Edit: Thanks to Scott for his insightful answer. It works perfectly with a manually populated Data Labels column. However, some jury rigging is needed if one wants to populate it dynamically. I used the following formula to populate it:
=IF(OR(O1=LARGE($O$1:$O$30,1),O1=LARGE($O$1:$O$30,2),O1=LARGE($O$1:$O$30,3)),O1,"")
Basically, it copies cell values from column O to column P if the value in O is the top 1st, 2nd, or 3rd value in the list. If it’s not any of those, it leaves the cell blank. But even if a cell is visually blank, Excel’s charting functions interprets the value as 0 if there is a formula in the cell. This means the entire bottom of the graph has repeated data labels of “0%”. To solve this I set the value of the FALSE parameter as a negative number and then changed the minimum value on the graph from automatic to 0. This leaves the unfit values below the bottom of the chart, out of visible range.
AHA!
Just when I thought there was no non-VBA solution other than picture links, my ingenuity came through 🙂
Here is what you can do, in stages:
1) Create a data set next to your original series column with only the values you want labels for (again, this can be formula driven to only select the top / bottom n values). See column D below.
2) Add this data series to the chart and show the data labels.
3) Set the line color to No Line, so that it does not appear!
4) Volia! See Below!