web-dev-qa-db-fra.com

La formule ArrayFormula fonctionne-t-elle avec la concaténation?

J'essaie de faire un ArrayFormula qui voir si la colonne D est vide ou non

Si ce n'est pas vide, il faudra alors un nombre et concaténer pour générer une URL pour montrer une img à partir d'une URL.

Ma formule actuelle (cela ne fonctionne pas)

=ARRAYFORMULA(if(ISBLANK(D6:D12),"wosh",ARRAYFORMULA(IMAGE(CONCATENATE("http://website.com/SB_Draft_",D6:D12,".jpg")))))

Si je change le D6:D12 en juste D6, il montre l'image, mais c'est la même image pour tout le tableau, sinon il ne saisit pas les nombres de la colonne D

Qu'est-ce que je fais mal?

2
Abiel Muren

Laissons la partie "image" à des fins de débogage, et regardons la concaténation de texte. La formule

CONCATENATE("http://website.com/SB_Draft_", D6:D12, ".jpg")

concatène: chaîne http, puis tout dans D6: D12, puis "jpg". C'est parce qu'il a une logique interne pour le traitement des tableaux: vous pouvez donner un tableau et le concaténer dans une seule chaîne. Ce qui est utile, mais pas ce que vous voulez ici.

À la place, utilisez l'opérateur de concaténation binaire &. Par exemple,

=ARRAYFORMULA("http://website.com/SB_Draft_" & D6:D12 & ".jpg")

renverra un tableau d'URL, une pour chaque entrée dans D6: D12. La formule complète serait

=ARRAYFORMULA(if(ISBLANK(D6:D12),"wosh", IMAGE("http://website.com/SB_Draft_" & D6:D12 & ".jpg")))
1
user135384