文字列からアドレスの一部を抽出するカスタム関数を定義しました。
/*
* 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(...)
この関数を、これらのアドレスが保存されているスプレッドシートの呼び出しの条件の1つとして使用したいと思います。
=FILTER('Sheet 1'!A:A, NorthAddress('Sheet 1'!B:B) >= 450))
しかし、NorthAddress
このように呼び出すと、列Bのすべての値の配列が取得され、それをどのように処理する必要があるかについてのドキュメントを一生見つけることができません。(私にとって)最も明白な方法は機能していないようです。NorthAddress
各値を呼び出す配列を繰り返し処理し、結果の配列を返します。
期待どおりに機能するために、関数は何を返す必要がありFILTER
ますか?