我定义了一个自定义函数,它从字符串中提取部分地址:
/*
* Return the number preceding 'N' in an address
* '445 N 400 E' => '445'
* '1083 E 500 N' => '500'
*/
function NorthAddress(address) {
if (!address) return null;
else {
var North = new RegExp('([0-9]+)[\\s]+N');
var match = address.match(North);
if (match && match.length >= 2) {
return match[1];
}
return null;
}
}
我想将此函数用作在FILTER(...)
存储这些地址的电子表格中调用的条件之一:
=FILTER('Sheet 1'!A:A, NorthAddress('Sheet 1'!B:B) >= 450))
但是,当我NorthAddress
这样调用时,它会在 B 列中获取所有值的数组,而我终其一生都找不到任何关于如何处理它的文档。最明显的方法(对我来说)似乎不起作用:遍历数组调用NorthAddress
每个值,并返回一个结果数组。
我的函数需要返回什么才能FILTER
按预期工作?