Google apps script 如何在谷歌电子表格中将范围转换为字符串?

Google apps script 如何在谷歌电子表格中将范围转换为字符串?,google-apps-script,google-sheets,scripting,custom-function,Google Apps Script,Google Sheets,Scripting,Custom Function,我在谷歌电子表格中有一个脚本,可以计算该范围内指定颜色的单元格数量(例如,一个范围内有10个单元格,其中3个单元格有红色字体) 如果我调用范围为字符串的函数,则没有问题: =COUNTTEXTCOLOR("A1:F1", "#ff0000") 但是我需要使用范围作为实际引用,它动态地指向指定的单元格。当你这样称呼它的时候 =COUNTTEXTCOLOR(A1:F1, "#ff0000") 。。。它返回异常: Range not found (line 9). 我知道引用需要转换为字符串格式

我在谷歌电子表格中有一个脚本,可以计算该范围内指定颜色的单元格数量(例如,一个范围内有10个单元格,其中3个单元格有红色字体)

如果我调用范围为字符串的函数,则没有问题:

=COUNTTEXTCOLOR("A1:F1", "#ff0000")
但是我需要使用范围作为实际引用,它动态地指向指定的单元格。当你这样称呼它的时候

=COUNTTEXTCOLOR(A1:F1, "#ff0000")
。。。它返回异常:

Range not found (line 9).
我知道引用需要转换为字符串格式,但是如何转换呢

  • 在应用程序脚本中,任何非严格数字的值都必须是字符串
  • 字符串不能在没有引号的情况下传递
作为解决办法:
  • 将不带引号的真实引用保存在单独的列中(例如,第I列)
  • 使用
    =COUNTTEXTCOLOR(TO_TEXT(I1),“#ff0000”)
    调用你的应用程序脚本-这将把你的范围符号转换成字符串
      • 在应用程序脚本中,任何非严格数字的值都必须是字符串
      • 字符串不能在没有引号的情况下传递
      作为解决办法:
      • 将不带引号的真实引用保存在单独的列中(例如,第I列)
      • 使用
        =COUNTTEXTCOLOR(TO_TEXT(I1),“#ff0000”)
        调用你的应用程序脚本-这将把你的范围符号转换成字符串

      这应该可以回答您的问题:-基本上,将动态范围传递给函数会传递一个单元格值的二维数组,因此您无法从中轻松获得实际范围字符串(除非您明确传递一个字符串“A1:F1”,如您所述)@可以这样做。请参阅本文中的其他答案,以回答您的问题:-基本上,将动态范围传递给您的函数会传递一个单元格值的二维数组,因此您无法从中轻松获取实际范围字符串(除非您明确传递一个字符串“A1:F1”,如您所述)@这是可以完成的。请参阅中的其他答案
      Range not found (line 9).