Google apps script 改变一个值!在谷歌表格中
我有一个谷歌工作表和一个应用程序脚本,我正在处理,但我在其中遇到了一个问题。我在一张纸上有两列,B和C,它们包含不同的值。B将包含单词Middle,C将是我需要的实际数据 我在G列中使用了一个公式,它读取B列和C列中的值,并提取与“Middle”匹配的相关数据。它将任何与Middle匹配的数据放入G列,并将C列中的数据放入相邻的H单元格。我对G列使用的公式如下所示Google apps script 改变一个值!在谷歌表格中,google-apps-script,google-sheets,Google Apps Script,Google Sheets,我有一个谷歌工作表和一个应用程序脚本,我正在处理,但我在其中遇到了一个问题。我在一张纸上有两列,B和C,它们包含不同的值。B将包含单词Middle,C将是我需要的实际数据 我在G列中使用了一个公式,它读取B列和C列中的值,并提取与“Middle”匹配的相关数据。它将任何与Middle匹配的数据放入G列,并将C列中的数据放入相邻的H单元格。我对G列使用的公式如下所示 =IF (ISERROR(QUERY('Announcements'!B2:C30;"select * where B contai
=IF (ISERROR(QUERY('Announcements'!B2:C30;"select * where B contains 'Middle'")), "", QUERY('Announcements'!B2:C30;"select * where B contains 'Middle'"))
然后是H列,其中包含:
=CONTINUE(G2, 1, 2)
当工作表公式运行时,它会提取正确的数据,但我遇到的问题是,如果没有任何与中间条件匹配的数据要提取,则H2单元格会在其中得到一个-,并且应用程序脚本会抛出一个值!进入运行时正在填充的google文档
应用程序脚本当前如下所示:
var sh10 = sh2.getRange('H2:H20').getValues(); //Middle
我已尝试修改找到的此代码
var sheet = ss.getSheetByName("Announcements")
var active = sheet.getActiveCell('H2');
var cell = active.getValue();
if (cell === "#VALUE!"){
active.setValue("");
};
但是当我运行脚本时,我得到了错误消息:找不到方法getActiveCellstring。第64行,文件测试
我的最终目标是能够运行工作表和脚本,如果文档的占位符中没有任何数据可插入,只需在该占位符中留出一个空格,然后继续下一部分。这些是脚本计算到中间的匹配总数并将数据插入占位符的部分
var sh21 = sh2.getRange(3,12).getValue(); // Middle
var announcement2 = ""; for (var i = 0; i <= 20 - sh21; i++) { announcement2 += sh10[i]+"\n"; } // Middle
任何帮助都将不胜感激
谢谢,
Paul我注意到您有一个名为ss的变量,但我没有看到一行代码引用电子表格:
var ss = SpreadsheetApp.getActiveSpreadsheet();
如果没有这一行,那么接下来的几行依赖于ss的代码将无法工作
如果输入Logger.log语句以检查变量,则可以看到变量设置为:
var ss = SpreadsheetApp.getActiveSpreadsheet();
Logger.log("The value of my ss variable: " + ss);
var sheet = ss.getSheetByName("Announcements")
Logger.log("sheet variable: " + sheet);
然后在代码运行后查看日志。
我猜工作表可能是空的,这是导致错误的原因
我并不是说这回答了您的问题,但要调试问题,我们必须系统地经历一个过程。该方法。getActiveCell返回电子表格中的任何活动单元格,比如说当前选定的单元格。如果需要“H2”的值,则需要另一个方法:getRange“H2”。getValue
这个问题没有明确解释,但是根据我的理解,您想要实现的是-1。清除G列和H列中的内容。将G列和H列的公式添加到H.2。您想知道B和C列是否包含中间列,因此可以将字符串添加到G列,并将计数值添加到H.3列。是否要在应用程序脚本中实现此功能?明确确认并编辑问题。嗨,我很抱歉。我在代码中有var ss行。它在上面,我忘了把它包括进去。这是您建议的记录器代码,这是返回的代码。我的ss变量的值:电子表格变量:工作表我认为问题源于我如何试图只获取其中一个单元格的值。在代码的一部分中,我要求它获取H2-H20范围的值,这给了我以下信息:VALUE!,,,,,,,,,,,,,,,,,,在那之后,我要求它得到活动单元H2,并得到它的值。如果该单元格与值匹配!然后将该值设置为“Hi”。节日的问候。我按照您的建议运行了代码,它返回的值是H2:value!,这正是我所期望的。有没有一种方法可以操纵它,使其将值转换为其他值?谢谢你,保罗