Google Sheets折线图隐藏部分图例项并保留末尾数据标签
Google Sheets折线图问题解决办法
一、移除注释项图例的可行方案
选中图表后,点击右上角的「自定义」标签:
- 找到「图例」设置区,点击「图例项」的下拉框,选择「自定义」
- 在弹出的列表里,找到那个无文字的注释系列,取消它的勾选框即可。这样既能保留最后一个数据点的标签,又能把图例里的空白短划线去掉,只显示你需要的Gained、Lost、Net、Total这几个图例项。
二、仅显示折线最后一个数据点标签的其他方法
方法1:用公式生成专属标签列
在数据区新增一列(比如命名为「末尾标签」),用公式判断当前行是否为该数据列的最后一行,只在最后一行显示数值,其余行留空。举个例子:
假设你的数据在B列,日期在A列,公式可以写:=IF(ROW(B2)=MAX(FILTER(ROW(B:B),B:B<>"")),B2,"")
把这一列作为新的「标签」系列添加到图表里,然后设置这个系列的折线颜色为「无」,只保留标签显示就行。
方法2:手动逐个设置
选中目标折线的最后一个数据点,右键选择「添加数据标签」;接着选中该系列的其他数据点标签,按Delete键删掉,只留最后一个。这种方法适合数据量不大的情况。
方法3:用Apps脚本自动批量设置
打开「扩展程序」→「Apps脚本」,粘贴以下代码(根据你的实际图表和系列调整参数):
function addLastPointLabels() { const sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet(); const chart = sheet.getCharts()[0]; // 这里取第一个图表,可根据实际情况修改索引 const chartRanges = chart.getRanges(); chartRanges.forEach((range, index) => { const valueCount = range.getValues().filter(row => row[0] !== "").length; if (valueCount === 0) return; chart = chart.modify() .setOption(`series.${index}.dataLabels`, { enabled: true, ranges: [{ startRow: valueCount, startColumn: 0, endRow: valueCount, endColumn: 0 }] }) .build(); }); sheet.updateChart(chart); }
保存后运行脚本,就能自动给每个系列的最后一个数据点加上标签。
内容的提问来源于stack exchange,提问作者Matt Croak
相关产品推荐
相关产品推荐

