Ma première pensée serait:
=SUM(MIN (1,COUNTIFS(Sheet1!A1:A18,Sheet2!$A1,Sheet1!B1:B18,{"za","zc","zd"}))
mais je ne suis pas où je peux tester si le MIN appliquera correctement au tableau NB.SI.ENS des résultats. ;-)
EDITED: La fonction MIN prend au minimum 1 ou tous les éléments dans le tableau COUNTIFS, plutôt que le minimum de 1 et chaque élément dans le tableau COUNTIFS, ce qui est ce dont j'avais peur. L'utilisation de
=MIN(COUNTIFS(Sheet1!A$1:A$18,Sheet2!$A1,Sheet1!B$1:B$18,"za"),1)+MIN(COUNTIFS(Sheet1!A$1:A$18,Sheet2!$A1,Sheet1!B$1:B$18,"zc"),1)+MIN(COUNTIFS(Sheet1!A$1:A$18,Sheet2!$A1,Sheet1!B$1:B$18,"zd"),1)
obtiendra les résultats souhaités. C'est un peu maladroit, mais plus simple qu'une formule matricielle. Si vous voulez une formule de tableau, vous pouvez utiliser:
=SUM(FREQUENCY(IFERROR(MATCH({"za","zc","zd"},(IF(Sheet1!$A$1:$A$18=$A5,Sheet1!$B$1:$B$18)),0),""),IFERROR(MATCH({"za","zc","zd"},(IF(Sheet1!$A$1:$A$18=$A5,Sheet1!$B$1:$B$18)),0),"")))
Il utilise la fonction de fréquence de prendre un ensemble de valeurs et de voir le nombre d'éléments dans un autre ensemble de valeurs se situent dans chacune des plages de données. Puisque vous avez besoin de texte au lieu de chiffres, nous utilisons la fonction MATCH pour trouver la première fois que la valeur apparaît dans votre liste, en retournant "" avec la fonction IFERROR si ce n'est pas le cas. (Nous avons seulement besoin de la première occurrence puisque vous ne voulez pas savoir combien il y a d'occurrences). Comme c'est du texte, nous utilisons la même entrée pour les deux arguments pour FREQUENCY. Par conséquent, si vous avez besoin de changer les valeurs que vous recherchez ou les plages dans lesquelles vous recherchez, assurez-vous de les changer tous les deux! Alternativement, vous pouvez lister les valeurs quelque part, disons dans F1: F3, et faites une plage nommée pour cela, une autre pour A1: A18, et une autre pour B1: B18.Votre formule serait alors ressembler à quelque chose comme ceci:
=SUM(FREQUENCY(IFERROR(MATCH(SearchValues,(IF(colA=$A2,colB)),0),""),IFERROR(MATCH(SearchValues,(IF(colA=$A2,colB)),0),"")))
Ensuite, il vous suffit de modifier vos définitions de gamme nommées et vos formules se mettre à jour. :-)
REMARQUE: étant donné qu'il s'agit d'une formule matricielle, vous devez fermer la cellule en appuyant sur CTRL + MAJ + ENTRÉE plutôt que sur ENTRÉE. Lorsque vous regardez la barre de formule, vous devriez voir
{=SUM(FREQUENCY(IFERROR(MATCH(SearchValues,(IF(colA=$A2,colB)),0),""),IFERROR(MATCH(SearchValues,(IF(colA=$A2,colB)),0),"")))}
Il ne fonctionne pas pour entrer les accolades vous-même. ;-)
Merci beaucoup pour l'aide. J'ai essayé votre suggestion mais elle ne renvoie que 0. – franciscofcosta
J'ai maintenant eu l'occasion de tester les données et les formules et j'ai mis à jour ma réponse. :-) –
Merci Erin. Je ne pouvais pas le faire avec la formule Array, mais cela fonctionnait en utilisant MIN. Je vous remercie. – franciscofcosta