当前位置: 首页 > 知识库问答 >
问题:

Google Sheets用于数组的自定义函数

东门修能
2023-03-14

我正试图在GoogleSheets中创建一个自定义函数,用于搜索列范围中的特定值,如果该值为true,则返回true。我已经测试了该函数,在脚本编辑器中运行时效果很好,但是当我尝试在Google sheets中使用它时,它不起作用。

当我定义array参数时,函数运行良好,但当我尝试将googlesheets中的一个范围作为数组传递时,函数总是返回false。这是我第一次使用Javascript/GoogleSheets函数进行编码,所以我知道我一定是做错了什么,但我不知道到底是什么问题。根据开发者页面,根据我的理解,传递一系列单元格应该会自动生成一个数组,所以我不确定我做错了什么。

所以,

=columnMatch(A2;“你好”、“你好”、“早上好”)将返回true,但

=columnMatch(A2;B2:B)将始终返回false。

(其中A2定义为hi,列B包含我希望测试的值列表)

我的自定义函数代码如下:

**function columnMatch(submittedLocation, locationlist)** 
{
  
  for(var i = 0; i < locationlist.length; i++)
  {
     if(locationlist.includes(submittedLocation)) 
      return true; 
  }

  return false; 
} ```

共有1个答案

籍光熙
2023-03-14

您可以将其简化为单行函数:

function columnMatch(submittedLocation, locationlist) {
  return locationlist.flat().filter(String).includes(submittedLocation);
}

工作原理:

submittedPlace是一个单独的值。

locationlist是一个范围-一个二维数组的值:

[ ["val1"], ["val2"], [...], ... ]

为了处理二维单词列表,我们首先将其展平为一个简单数组。

然后我们过滤掉任何空值,以避免一个非常大的数组,其中没有太多实际数据。我们只保留非空字符串。此步骤不是必需的,但建议使用。

最后,我们可以查看我们的搜索值是否包含在数组中,并且只返回该布尔测试的true/false结果。

 类似资料:
  • $this->db->call_function(); 这个方法用于执行一些 CodeIgniter 中没有定义的 PHP 数据库函数,而且 使用了一种平台独立的方式。举个例子,假设你要调用 mysql_get_client_info() 函数,这个函数 CodeIgniter 并不是原生支持的,你可以这样做: $this->db->call_function('get_client_info')

  • 我正在使用 Scala,并希望构建自己的数据帧函数。例如,我想将一列视为数组,循环访问每个元素并进行计算。 首先,我尝试实现自己的getMax方法。因此列x的值为[3,8,2,5,9],该方法的预期输出为9。 下面是它在Scala中的样子 这是我目前所知道的,并得到这个错误 我不知道如何迭代该列。 } 一旦我能够实现自己的方法,我将创建一个列函数 然后我希望能够在SQL的陈述中使用它 给定输入列[

  • 主要内容:操作整个数据表,操作行或列,操作单一元素如果想要应用自定义的函数,或者把其他库中的函数应用到 Pandas 对象中,有以下三种方法: 1) 操作整个 DataFrame 的函数:pipe() 2) 操作行或者列的函数:apply() 3) 操作单一元素的函数:applymap() 如何从上述函数中选择适合的函数,这取决于函数的操作对象。下面介绍了三种方法的使用。 操作整个数据表 通过给 pipe() 函数传递一个自定义函数和适当数量的参

  • 主要内容:函数定义函数是一组可重复使用的代码,可以在程序中的任何地方调用。这消除了一遍又一遍地编写相同的代码的需要。这使程序员能够将一个大程序划分成许多小的可管理的功能模块。 除了内置函数外,VBA还允许编写用户定义的函数。 在本章中,我们将学习如何在VBA中编写自己的函数。 函数定义 一个VBA函数可以有一个可选的语句。如果要从函数返回值,则可使用语句。 例如,可以在一个函数中传递两个数字,然后从函数中返回它们的

  • 我做了这个自定义函数,并把它放在全局之外,这通常会工作。我也试着在主异步木偶函数中移动它,但也不起作用。这是一个简单的函数。在每个page evaluate函数中,我调用它并传递选择器。但是,它的说法没有定义和promise拒绝,这是奇怪的,因为函数不是promise....请帮助 我尝试将函数转换为异步函数,添加了一个新的参数页。然后,我将async添加到我的评估函数中,然后将puppeteer

  • XQuery提供编写自定义函数的功能。 下面列出了创建自定义函数的准则。 使用关键字来定义函数。 使用当前XML架构中定义的数据类型 将函数体包含在花括号内。 使用XML命名空间前缀函数的名称。 创建自定义函数时使用以下语法。 语法 示例 以下示例显示如何在XQuery中创建用户定义的函数。 XQuery表达式 输出结果 - 验证结果 要测试上述函数,用上面的XQuery表达式替换books.xq