Google sheets “如何缩小图表/过滤掉”;“零”;值,因此结果不是';不要挤在一个狭小的空间里

Google sheets “如何缩小图表/过滤掉”;“零”;值,因此结果不是';不要挤在一个狭小的空间里,google-sheets,google-sheets-charts,Google Sheets,Google Sheets Charts,我有一个折线图,表示两列数值数据。图表的X轴显示从开始到2020年底的所有日期,Y轴是两列的值 问题是,对于两个Y值,我只有一个条目,图表显示了从第一个日期到最后一个日期的所有值(除了一个条目外,该值为零)。发生的情况是图表的直线数据被塞进最左边,因为它包含两个数据列中的所有值,而不是非零的值 如何更改图表,使其仅显示输入的Y值,以便我可以清楚地看到图表?基本上,只需过滤掉列中的所有“零”项,这样我就只能看到图表中表示的填充值?我已经尝试寻找与您的具体案例相关的解决方案,但还没有找到内置的方法

我有一个折线图,表示两列数值数据。图表的X轴显示从开始到2020年底的所有日期,Y轴是两列的值

问题是,对于两个Y值,我只有一个条目,图表显示了从第一个日期到最后一个日期的所有值(除了一个条目外,该值为零)。发生的情况是图表的直线数据被塞进最左边,因为它包含两个数据列中的所有值,而不是非零的值


如何更改图表,使其仅显示输入的Y值,以便我可以清楚地看到图表?基本上,只需过滤掉列中的所有“零”项,这样我就只能看到图表中表示的填充值?

我已经尝试寻找与您的具体案例相关的解决方案,但还没有找到内置的方法

我构建了一个简单的应用程序脚本,它将在第二列中查找第一个空值,以在每次编辑时更新图表范围

函数onEdit(e){
var sheet=SpreadsheetApp.getActiveSheet();
//假设X轴位于第一列中
//你的Y轴在第二个
var rang=sheet.getRange(1,2,sheet.getLastRow());
var rangValues=rang.getValues()
//检查第二列中未定义的第一个值
对于(var i=0;i
这对我来说很有用,如果你不熟悉应用程序脚本,你可以在实现它之前查看一下

如果您的数据以其他方式排列,请让我知道,以便我可以调整此脚本以满足您的需要


另外一个可以尝试的解决方法是,不使用应用程序脚本,创建一个新的工作表,并使用一些工作表公式过滤该数据:

=QUERY(Sheet1!A:B, "select A, B where B>0 and B is not null")

此解决方案的缺点是需要通过
QUERY
复制数据。但如果你不习惯应用程序脚本


我认为你想做的不是一个疯狂的想法,所以你可以报告它,并尝试让它由谷歌实施


这是财务数据…共享它的最佳方式是什么,这样我就不会发布任何我不满意的内容?最好的方式是您提供一个新的工作表,它看起来像您的财务数据,但没有您的实际数据。这起作用的是,只有值为“0”,而不是null或未定义。是否要在第一个0处停止?您可以在
for
循环中添加该条件。如果不是这样的话,您能提供一个更清楚的示例来说明您想要什么吗?我已经修改了代码,添加了一个条件,在出现0时中断
for
循环。如果你想要更具体的行为。你需要更好地定义它。我插入图表,运行代码,它会给我一个点。您是否已更改脚本中的列以满足您的需要。在回答中指出,此代码被认为是在第一列和第二列中运行的。