web-dev-qa-db-fra.com

Puis-je appeler la fonction IMPORTRANGE dans une fonction REGEXEXTRACT?

Je souhaite obtenir les domaines racine à partir d'une liste d'URL avec REGEXEXTRACT, mais je souhaite que la liste de tous les TLD possibles provienne d'une autre feuille afin d'éviter de spécifier com|net|org|all other à la main. Idée basique:

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

Ce que je veux:

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

Un moyen d'y parvenir?

2
dzhi

Tu dois faire ça.

Formule

nouvelle fiche Google

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

ancien tableur Google

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

Pour une gamme, vous devez le faire.

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

Références

1
Jacob Jan Tuinstra

Deviner que A2 contient quelque chose comme https://webapps.stackexchange.com et qu'une autre feuille contient quelque chose comme: A2 com, A3 net, A4 org, puis dites B1:

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

devrait renvoyer quelque chose comme com|net|org à condition que l'autorisation soit accordée.

Ceci peut être appliqué dans une formule REGEXEXTRACT comme ceci:

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

pour renvoyer, pour l'exemple: stackexchange.com (un lien vers https://stackexchange.com/) et pour https://www.draw.io/, renvoyer #N/A.

TEXTJOIN
IMPORTRANGE
REGEXEXTRACT

0
pnuts