J'ai un document tableur avec une formule comparant une liste d'URL à des listes sur deux autres feuilles du document.
Je souhaite savoir si chaque URL de la première liste est présente dans la liste de blocage, la liste blanche, les deux ou aucune des deux.
Notez que j'ai utilisé des plages nommées sur les trois colonnes d'URL (moins l'en-tête, par exemple 'sheetname'!A2:A1000'
).
Voici ma formule actuelle:
=if(len(REQUESTS),if(AND(countif(BLOCK,REQUESTS),countif(WHITE,REQUESTS)),"ON BOTH",if(countif(BLOCK,REQUESTS),"Blocked",if(countif(WHITE,REQUESTS),"Whitelisted","Pending addition to a list"))),"")
Cela fonctionne comme prévu, sauf que je dois le faire glisser vers chaque ligne de la feuille contenant les demandes.
Quand je l'ajoute à un ARRAYFORMULA
, le AND
ne fonctionne plus. Toute URL présente à la fois dans BLOCK et dans WHITE renvoie "Bloqué".
=ARRAYFORMULA(if(len(REQUESTS),if(AND(countif(BLOCK,REQUESTS),countif(WHITE,REQUESTS)),"ON BOTH",if(countif(BLOCK,REQUESTS),"Block",if(countif(WHITE,REQUESTS),"White","Pending addition to a list"))),""))
Actual location(s) Working formula With ARRAYFORMULA
neither Pending addition to a list Pending addition to a list
white White White
block Block Block
BOTH ON BOTH Block
Si cela aide, lorsque j'échange les fonctions if(White)
et if(Block)
, j'obtiens "Blanc" lorsqu'il est allumé.
Des idées pour lesquelles l’ajout de ARRAYFORMULA
rompt ma logique ou une méthode alternative pour que la formule soit répétée autant de fois que nécessaire?
Dans les formules matricielles au lieu de AND
et OR
, les fonctions utilisent respectivement *
et +
.
ET: Au lieu de
=ArrayFormula(and(A2:A4,B2:B4))
utilisation
=ArrayFormula(A2:A4*B2:B4)
OU: au lieu de
=ArrayFormula(or(A2:A4,B2:B4))
utilisation
=ArrayFormula(A2:A4+B2:B4)