web-dev-qa-db-fra.com

Comment incorporer la fonction SUBSTITUTE à une fonction complexe dans Google Sheets

J'ai la fonction suivante et cela fonctionne parfaitement, à une exception près. Certaines des valeurs renvoyées contiennent des caractères que je souhaite supprimer.

=ARRAYFORMULA(IFERROR(REGEXEXTRACT("|"&REGEXREPLACE(F2:F,"\n","|"),"^"&REPT("\|[^|]*",COLUMN(OFFSET(C1,,,1,5))-1)&"\|([^|]*)")))

La chaîne dans F2 est: OER - World History - Day 1 | 9/1/2016 | @ 8:00:00 AM | Location is 000-DO | in Jamacha Conference Room | ID#100008

La fonction ci-dessus renvoie actuellement @ 8:00:00 AM

J'aimerais que la fonction ci-dessus renvoie 8:00:00 AM

J'ai essayé d'utiliser la fonction SUBSTITUTE sur la fonction ci-dessus, mais je ne peux pas comprendre "où" ou "comment" l'utiliser correctement. Si je l'utilise sur une simple corde, cela fonctionne parfaitement.

=SUBSTITUTE(?????, "@ ", "")

Toute aide est grandement appréciée.

1
Mr. B

Réponse courte

=ARRAYFORMULA(
  SUBSTITUTE(
    IFERROR(
     REGEXEXTRACT(
      "|"&REGEXREPLACE(F2:F,"\n","|"),
      "^"&REPT("\|[^|]*",
      COLUMN(OFFSET(C1,,,1,5))-1)&"\|([^|]*)")
    ),
  "@","")
)

Explication

L'argument de la fonction ARRAYFORMULA a été inclus en tant que premier argument de SUBSTITUTE et a été inclus en tant qu'argument de ARRAYFORMULA.

REMARQUE: Les lignes de fracture et les retraits ont été inclus pour des raisons de lisibilité. Google Sheets est capable de gérer cela, mais ne conserve que les lignes de séparation et les retraits lorsque l'argument ou la fonction est modifié.

1
Rubén