Question Comment utiliser plusieurs tableaux en une seule formule


Je dois trouver le nombre de cellules dans un tableau lorsque toutes les conditions sont remplies. J'ai donc écrit la formule suivante:

=SUM(COUNTIFS(Master_tbl[Erfassungsdatum],">=01.01.2017",Master_tbl[Erfassungsdatum],"<=31.01.2017",Master_tbl[Auftragsart],{"YAEL","YAFD","YALP","YAPL"},Master_tbl[IH-Leistungsart],{"T01","T02","T03","T04","T35"},Master_tbl[P/AP],"AP"))

Mais le résultat est moins que réel. Lorsque j'utilise un seul ensemble de tableaux, le résultat est correct, mais lorsque j'utilise deux ensembles de tableaux, le résultat est incorrect.

Quelqu'un peut-il m'aider à trouver mon erreur s'il vous plaît?


4
2017-11-07 13:16


origine


Je ne suis pas à 100%, mais je ne pense pas que vous puissiez utiliser les 2 baies dans un cas comme celui-ci, j'ai essayé avant moi et obtenu des résultats étranges. comme tour de travail, essayez d’utiliser une colonne d’aide pour effectuer les 2 comptages indépendamment, puis un décompte si sur ceux où il y a des correspondances, on espère que ça aide - PeterH
@ User91504: merci pour votre commentaire. Le problème est qu'il n'y a aucune possibilité d'ajouter une colonne d'aide, sinon vous avez raison. - Dio
@Dio Pouvez-vous s'il vous plaît montrer quelques captures d'écran? Je sais que ce que vous demandez est possible. Si vous me donnez l'exemple avec lequel vous travaillez, je peux vous fournir une solution qui correspond à ce que vous avez de mieux - Eric F
@Eric J'ai ajouté quelques captures d'écran, mais je ne suis pas sûr que ce soit clair, car la table est trop grande. - Dio
@Dio Merci cependant il semble que vous avez deux réponses ci-dessous de toute façon qui, espérons-le, vous aideront :) - Eric F


Réponses:


Vous ne pouvez faire que 2 tableaux max et il faut séparer avec ; et l'autre ,. Ainsi, l'un est un tableau vertical et l'autre horizontal.

=SUM(COUNTIFS(Master_tbl[Erfassungsdatum],">=01.01.2017",Master_tbl[Erfassungsdatum],"<=31.01.2017",Master_tbl[Auftragsart],{"YAEL","YAFD","YALP","YAPL"},Master_tbl[IH-Leistungsart],{"T01";"T02";"T03";"T04";"T35"},Master_tbl[P/AP],"AP"))

5
2017-11-07 13:51



Merci Scott. J'aime cette solution, mais il y a un défi. En langue allemande Excel, nous utilisons ";" comme ",". Maintenant, je ne sais pas comment ajouter "," dans le deuxième tableau, car Excel ne l’accepte pas. - Dio
@Dio - vous pouvez travailler comme ceci: dans une feuille de calcul vide dans la cellule A1 tapez = B2: D4 puis appuyez sur la touche F2 suivie de la touche F9 - vous devriez voir les deux types de ponctuation utilisés dans votre version, par ex. dans le mien je vois ={0,0,0;0,0,0;0,0,0} - barry houdini
Great Barry. :) Une bonne consultation. C'est le résultat ={0.0.0;0.0.0;0.0.0}. Je dois utiliser la période "." plutôt que la virgule. Merci beaucoup. - Dio


Plusieurs tableaux utilisés dans votre formule évaluent essentiellement la formule en alignant les différents tableaux et en utilisant chaque ensemble indépendamment (c'est-à-dire YAEL + T01, YAFD + T02). Ce n'est pas ce que vous cherchez à faire.

Je suis sûr qu'il existe d'autres méthodes pour réaliser ce que vous cherchez à faire, mais celui qui est venu à l'esprit était l'utilisation de Sumproduct. Je ne sais pas combien de temps vous avez utilisé Excel, mais pendant longtemps, Sumproduct était le meilleur moyen d'effectuer un comptage à critères multiples. En prenant votre formule ci-dessus et en la convertissant, nous obtenons:

=SUMPRODUCT(--(Master_tbl[Erfassungsdatum]>="01.01.2017"),--(Master_tbl[Erfassungsdatum]<="31.01.2017"),--(ISNUMBER(MATCH(Master_tbl[Auftragsart],{"YAEL","YAFD","YALP","YAPL"},0))),--(ISNUMBER(MATCH(Master_tbl[IH-Leistungsart],{"T01","T02","T03","T04","T35"},0))),--(Master_tbl[P/AP]="AP"))

ISNUMBER (MATCH ... convertit essentiellement ce qui serait un tableau multidimensionnel (si vous faisiez la simple comparaison de column = {array}) en une seule dimension, qui peut ensuite être combinée avec les autres comparaisons de critères.

Je n'étais pas tout à fait sûr du format de votre colonne Erfassungsdatum, donc la comparaison suppose une valeur de chaîne. Si c'est une date que vous voulez ajuster en conséquence.


4
2017-11-07 13:57



Merci Nayrb pour ta réponse. Je ne suis pas un ancien utilisateur d'Excel :) mais je suis tellement impatient d'apprendre très bien. J'ai essayé votre formule, mais le résultat est zéro "0". Je ne peux pas comprendre pourquoi. Je pense que je dois étudier cela plus en profondeur. - Dio
Votre colonne de date est-elle réellement une date? Si oui, vous pouvez envelopper le "01.01.2017" dans la fonction DATEVALUE. - Nayrb
Tu as raison. La date est actualla une date, donc avec vos nouveaux conseils cela fonctionne. Merci beaucoup. Juste une simple question: savez-vous si SUMPRODUCT accepter plus de deux tableaux? - Dio
SUMPRODUCT devrait pouvoir gérer jusqu'à 256 arguments, et vous pourriez probablement utiliser des tableaux dans chacun de ces arguments (bien que je ne le recommande pas beaucoup). - Nayrb