web-dev-qa-db-ja.com

REGEXEXTRACT関数内でIMPORTRANGE関数を呼び出すことはできますか?

REGEXEXTRACTを使用してURLのリストからルートドメインを取得したいが、com|net|org|all otherを手動で指定しないように、可能なすべてのTLDのリストを別のシートから取得したい。基本的な考え方:

  =REGEXEXTRACT(A2, "\w+\.(?:com|net|org)")

私が欲しいもの:

  =REGEXEXTRACT(A2, "\w+\.(?:IMPORTRANGE("$SHEETKEY",!A2:A))")

これを達成する方法はありますか?

2
dzhi

これを行う必要があります。

新しいGoogleシート

=REGEXEXTRACT(IMPORTRANGE("URL_IMPORT_SHEET", "A2"), "(\w+\.\w+)$")

古いGoogleスプレッドシート

=REGEXEXTRACT(IMPORTRANGE("KEY_IMPORT_SHEET", "A2"), "(\w+\.\w+)$")

範囲については、これを行う必要があります。

=ARRAYFORMULA(REGEXEXTRACT(IMPORTRANGE("URL_OR_KEY", "A2:A14"), "(\w+\.\w+)$"))

参照資料

1

A2https://webapps.stackexchange.comのようなものが含まれ、別のシートにA2 com、A3 net、A4 orgのようなものが含まれているとすると、

=TEXTJOIN("|",1,IMPORTRANGE(" k e y ","A2:A"))

許可されている場合、com|net|orgのようなものを返す必要があります。

これは、REGEXEXTRACT式内で次のように適用できます。

 =REGEXEXTRACT(A2,"\w+\.(?:"&B$1&")")

例を返します:stackexchange.comhttps://stackexchange.com/へのリンク)およびhttps://www.draw.io/の場合は#N/Aを返します。

TEXTJOIN
IMPORTRANGE
REGEXEXTRACT

0
pnuts