Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/google-sheets/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Google apps script 谷歌表单-根据背景颜色添加特定值_Google Apps Script_Google Sheets - Fatal编程技术网

Google apps script 谷歌表单-根据背景颜色添加特定值

Google apps script 谷歌表单-根据背景颜色添加特定值,google-apps-script,google-sheets,Google Apps Script,Google Sheets,我尝试过制作一个谷歌应用程序脚本,但在理解如何设置它时遇到了困难。从这看来,我可以创建一个可以在电子表格内部调用的函数,就像GoogleSheets提供的求和函数一样。我已经查看了getBackground()函数,但它似乎需要包含一些全局变量,而不仅仅是函数 以下是我当前的电子表格: 我想输入一个函数,其取值范围为A2:A1000,并基于单元格的背景色,确定它是进入“工作”还是“生活”,然后将其相应地添加到单元格E4(总工作)或F4(总生活)中。列A中的单元格将始终是数字 以下是我尝试过的,

我尝试过制作一个谷歌应用程序脚本,但在理解如何设置它时遇到了困难。从这看来,我可以创建一个可以在电子表格内部调用的函数,就像GoogleSheets提供的求和函数一样。我已经查看了
getBackground()
函数,但它似乎需要包含一些全局变量,而不仅仅是函数

以下是我当前的电子表格:

我想输入一个函数,其取值范围为A2:A1000,并基于单元格的背景色,确定它是进入“工作”还是“生活”,然后将其相应地添加到单元格E4(总工作)或F4(总生活)中。列A中的单元格将始终是数字

以下是我尝试过的,我认为我可能完全脱离了我的单细胞方法:

功能工作时间(输入){
if(input.getBackground()=“#d9ead3”){
input.setFontColor(4285f4)
}否则{
input.setFontColor(空)
}
}
//我在第三行出现错误是因为某些原因。。。

TL;DR基于单元格的背景颜色,我如何创建一个函数来计算这些特定颜色的数字之和,并相应地在“总工作时间”和“总使用寿命”下的不同单元格中显示它们?

自定义公式方法非常有限 自定义公式中的唯一输入是值,而不是单元格对象。运行公式的函数永远不会知道其位置或格式。它接收值或值数组,并返回值或值数组

应用程序脚本版本
函数workTime2(){
让file=SpreadsheetApp.getActive();
let sheet=file.getSheetByName(“Sheet1”);
let range=sheet.getRange('A1:A16');
让targetColor=“#00ffff”
让value=range.getValues();//[1]、[2]、[3]…]
让colors=range.getBackgrounds();/[[ffffff],[00ffff],[ffffff]…]
设和=0
对于(让i=1;i!=values.length;i++){//从1开始跳过第一行
设值=值[i][0]
让颜色=颜色[i][0]
如果(颜色==目标颜色){
总和+=值
}
}
设resultCell=sheet.getRange('B2');
结果细胞设定值(总和);
}
此脚本将对A1:A16中的值求和(如果它们是绿松石色的)。把总数放在B2里

这是一种基于单元格值求和的方法。这应该给你一个很好的起点来定制你喜欢的

参考文献

不幸的是,从您的问题中,我无法理解基于单元格背景颜色的
,如何创建一个函数来计算这些特定颜色的数字之和,并相应地在“总工作时间”和“总使用寿命”下的不同单元格中显示它们?
。而且,我无法理解您的示例图像。我为此道歉。我可以问一下您期望的示例输入和输出情况吗?也许您对这个google sheets插件()感兴趣?@Tanaike input=单元格的背景色+值(总是一个数字);输出=不同单元格中具有相同背景颜色的值的总和。在“时间”列下面,有高亮显示的颜色。这是由于第二列中的条件格式,其中我唯一的选项是“工作”或“生活”。在突出显示的单元格内,我会放置一个数字,我希望函数在具有特定背景颜色(由条件格式设置)的单元格中获取数字。谢谢您的回复。我注意到已经发布了一个答案。在这种情况下,我想尊重现有的答案。嗯,我明白你对“自定义公式”方法语句的理解。顺便说一句,我意识到我制作了一个“绑定”脚本,这样可以使工作表的检索过程更加动态,范围也更加广泛。但我正在考虑制作一个新的界面,以弥补更简单的用户界面体验。这是可以实现的吗?是的,您可以让用户选择一个单元格,然后您可以获取脚本来计算总数并将其放入所选单元格中。您甚至可以让函数提示用户输入总和的范围、颜色和目标单元格。同样关于“绑定”脚本,我给出的示例需要绑定脚本,因为它调用了
SpreadsheetApp.getActive()
,它只适用于绑定脚本。也将使用绑定脚本。