我正在尝试使用脚本中的自定义js函数作为GoogleSheets中过滤单元函数的条件。
示例:=FILTER(A1: A25;颜色相同(A1: A25; 10澳元))
colorsame
返回true
/false
(一个值或数组,基于范围大小)。
自定义函数单独工作得很好,比如=colhalone(A1: A25; 10澳元)
填充该列。但是在上面的=FILTER()
中,我总是有这个错误:
FILTER has mismatched range sizes. Expected row count: 25. column count: 1. Actual row count: 1, column count: 1.
我尝试用谷歌搜索这个问题,但只得到了基于内置谷歌表格功能的FILTER
解决方案。此外,我试图将此函数与筛选器和条件格式“自定义公式”字段集成,但没有成功。
自定义函数代码:
color
返回所提供单元格或区域的背景色。
function color(input) {
var ss = SpreadsheetApp.getActiveSpreadsheet();
// get 'input' address by metascanner
var formula = ss.getActiveRange().getFormula();
var rangeA1Notation = formula.match(/\((.+)\)/).pop();
var cell = ss.getRange(rangeA1Notation);
var bg = cell.getBackgrounds();
return bg;
}
colorsame
返回真值表,该表显示输入
范围的背景色与color
单元格的背景色相同。
function colorsame(input, color) {
var ss = SpreadsheetApp.getActiveSpreadsheet();
// get 'input' address by metascanner
var formula = ss.getActiveRange().getFormula();
var matches = formula.match(/\((.+);(.+)\)/);
var rangeA1Notation = matches[1];
var colorA1Notation = matches[2].trim();
var color = ss.getRange(colorA1Notation).getBackground();
var bgs = ss.getRange(rangeA1Notation).getBackgrounds();
var truthTable = bgs.map(function(bg) { return bg == color });
return truthTable;
}
您可以从自定义函数返回布尔值数组,该数组将指示过滤后将显示哪些单元格。
我的问题是试图用regexp解析单元格内容以检索单元格地址。它适用于像=colorsame(A1:A25;$A$10)
这样的公式,但不适用于内部过滤器
。
此版本仅适用于过滤器
:
function colorsame(input, color) {
var ss = SpreadsheetApp.getActiveSpreadsheet();
// get 'input' address by metascanner
var formula = ss.getActiveRange().getFormula();
var matches = formula.match(/colorsame\((.+?);(.+?)\)/);
var rangeA1Notation = matches[1].trim();
var colorA1Notation = matches[2].trim();
var color = ss.getRange(colorA1Notation).getBackground();
var isSame = function(col) { return col === color; };
var bgs = ss.getRange(rangeA1Notation).getBackgrounds();
var truthTable = bgs.map(function(bg) { return bg.map(isSame); });
return truthTable;
}
这可能是有用的,以查看您的颜色相同
函数的代码,但与此同时,你有没有尝试
=ArrayFormula(FILTER(A1:A25; colorsame(A1:A25; $A$10)))
我创建了一个链接到GoogleSheets表的google表单。提交后,表格中的数据将更新链接表中的A-D列。现在,我需要一个自定义脚本在提交时调用外部API,并将响应中的数据写入列E。我尝试调用weather API,以便在用户提交表单时记录天气数据。 下面是我用来从公共MetarAPI获取温度的函数,当我从打开的google sheet文档中的一个单元格调用它时,它工作得很好。我无法从谷歌文档
本文向大家介绍Python过滤函数filter()使用自定义函数过滤序列实例,包括了Python过滤函数filter()使用自定义函数过滤序列实例的使用技巧和注意事项,需要的朋友参考一下 filter函数: filter()函数可以对序列做过滤处理,就是说可以使用一个自定的函数过滤一个序列,把序列的每一项传到自定义的过滤函数里处理,并返回结果做过滤。最终一次性返回过滤后的结果。 filter()函
在我的控制器中,我想过滤一个对象数组。这些对象中的每一个都是一个映射,可以包含字符串和列表 我尝试使用< code>$filter('filter')(array,function)格式,但是我不知道如何在我的函数中访问数组的各个元素。这里有一个片段显示了我想要的。 然后在中,我将检查每个单独的属性是否匹配 我必须在控制器中完成所有这些操作,并编译一个列表列表并在范围内设置它们。因此,我确实需要以
我正在尝试编写一个简单的数据库函数来从表中检索值。 MariaDB只是给出以下消息 在“开始声明标题VARCHAR DEFAULT”附近,在第2行的标题FR中选择MyTitle 我看不出有什么不对。请帮忙。 谢谢你
我使用Thiago Mata的自定义Google Sheets函数来搜索和替换字符串中的多个单词。 Thiago的函数可以在这里找到 实际上,我使用他的函数替换关键字与相应的超链接。 原始字符串存储在列示例!A: A.关键字替换html对存储在另外三个表中:垂直表、水平表和技术表。 例如,在原始字符串中找到的每个“Authors”实例都替换为 这是一张谷歌表格,显示了我正在尝试做的事情(在原始数据
让我试着解释一下我的问题。 > 我有一个图像在我的驱动器URL="https://drive.google.com/open?id=0B7Qr0kRr6yOOLXB1OE5lUUxBRjQ" 我把它改成了“https://drive.google.com/uc?export=download 替换为“打开?id"with"uc?导出=下载 第一张!A5当我使用=图像(A1,1)时,它不起作用。 但