0
votes

Comment utiliser Excel Sumifs avec un opérateur supérieur ou égal lorsque les chiffres stockés sous forme de texte

J'ai une table où la base de données sous-jacente stocke des nombres comme texte. Dans ce cas, l'opérateur supérieur ou égal ne capture pas la première valeur.

Cette formule ignore la première ligne des données dans le résultat où AcctNum = 123. La formuiule renvoie 11 quand il devrait renvoyer 21. xxx

 Entrez la description de l'image ici

choses que j'ai essayé: 1. "*" Wildcard. 2. De nombreuses combinaisons de fonctions T () et Text ().

choses que je ne veux pas faire: 1. Utilisez des tableaux. 2. Ajoutez des colonnes à ma table converties en numériques, car tous les Acctnum ne sont pas formatés de la même manière, c'est pourquoi ils doivent rester du texte. 3. Utilisez le sumproducteur car la lisibilité de la formule est importante dans ce cas.

J'ai écrit une fonction personnalisée pour contourner le problème, mais j'aimerais savoir s'il existe une solution d'excellence naturelle. J'ai lu Sumif et Sumifs ne fonctionnent pas bien lorsque les chiffres sont stockés ou extraits de la base de données comme texte. J'utilise Excel 2016.


0 commentaires

3 Réponses :


0
votes

Que voulez-vous dire par 2. Ajoutez des colonnes à ma table converties en numériques, car tout AcctNum n'est pas formaté de la même manière, c'est pourquoi ils doivent rester texte?

Vous pouvez le faire avec une matrice ou une colonne d'assistance, autre que celle-là, pas sûre si elle est possible avec Sumifs.


1 commentaires

Probablement la réponse la plus courante à cette question où l'affichage ailleurs est de convertir le texte en chiffres dans d'autres colonnes, mais le but du message était d'apprendre à utiliser des SUMIFS avec des chiffres stockés sous forme de texte - qui propose des systèmes de comptabilité. . Je soupçonne que cela ne peut pas être fait avec des SUMIFS ou une syntaxe simple de manière équivalente, mais c'est pourquoi j'ai posté la question.



0
votes

Si vous utilisez un sumproducteur, vous pouvez convertir explicitement le texte en chiffres.

=SUMPRODUCT(Table1[Balance],--(Table1[AcctNum]+0>=123),--(Table1[AcctNum]+0<=500))


4 commentaires

N'EST PAS SUMPRODUT ET TYPE DE TYPE FORMULA? OP a demandé à éviter de tels, même si je ne crois pas que cela soit possible avec ces restrictions.


C'est une question d'interprétation. Formule de tableau = entrée avec Ctrl + Maj + Entrée ou formule de tableau = effectuer des calculs sur des tableaux.


Je suis désolé (!), J'ai oublié de mentionner que je ne veux pas utiliser de sumproducteur non plus. J'ai maintenant édité la question pour inclure ce paramètre. C'est une solution de contournement intelligente mais le modèle est très compliqué et je dois le garder aussi lisible que possible que possible pour les non-technologies et la maintenance future. Fabrication> = travail opérateur avec SUMIFS est mon premier choix. Écrire une fonction personnalisée était mon deuxième choix. À la recherche d'une façon de le faire avec des SUMIFS, mais merci de répondre.


Non, vous ne pourrez pas faire cela avec SUMIFS. C'est pourquoi j'ai suggéré un sumproducteur. Certains scénarios ne peuvent tout simplement pas être fait avec une formule qui utilise une syntaxe "simple". Certaines choses, comme celle-ci, sont un peu plus complexes et nécessitent une formule un peu plus complexe. Si vous ne voulez pas éduquer vos utilisateurs, alors par tous les moyens, écrivez un UDF.



1
votes

Essayez le sumproducteur avec double minus pour convertir le texte et les booléens en chiffres.

=SUMPRODUCT(--(--Table1[acctnum]>=123), --(--Table1[acctnum]<500), Table1[balance])


1 commentaires

C'est très intelligent et ça marche! Si je n'avais pas tant de ces formules dans mon modèle, je pourrais l'utiliser, mais la syntaxe est trop compliquée pour mon scénario. Mais je voulais poser la question de savoir comment le faire avec SUMIFS et aurait dû indiquer que le sunproduct était l'une des solutions que j'avais évitées en raison de la complexité de la formule. Ce n'est pas la réponse exacte que je cherchais mais c'est une solution de contournement très élégante. J'ai parcouru cette question à mort sur de nombreux sites Web et c'est probablement la meilleure réponse jusqu'à présent. Presque un lancement entre cela et la fonction personnalisée que j'ai écrite.