Formules de recherche en fonction d'un critère compris entre deux valeurs

Bonjour à tous,

je recherche une formule qui selectionne et additionne les quantités des cellules en distinguant les numéros de hangars dans lesquels les produits sont affectés. Auriez vous une solution? Ci joint mon fichier excel avec une explication.

En vous remerciant par avance.

Guillaume

Bonjour Guillaume

Tu as fait un tableau qui ressemble à un TCD (tableau croisé dynamique) sur des données brutes. un TCD crée automatiquement les totaux. Tu t'es compliqué la vie?

Il te faut faire une feuille des données brutes (ou table structurée) avec les colonnes "hangar", "produit", "livreur", "Date de la cargaison", "quantité x", "quantité y" sans utiliser des cellules fusionnée comme tu as fait pour "hangar" et créer ensuite le TCD (voir un tutoriel)

et peut être une feuille de paramètre pour les hangars (n° hangar, n° site) , les produits, ....

bonjour

une contribution

cordialement

15wolfmalcom.xlsx (20.41 Ko)

Bonjour à tous,

Comme évoqué précédemment ce que vous voulez c'est un TCD mais vous avez un tableau d'entrée très ennuyeux à utiliser.

Ci-joint une autre proposition XL365 de type formules dynamiques. (j'obtiens les mêmes résultats que @tulipe)

=LET(datas;C5:.H10000;colQ;5;
fIni;CHOISIRCOLS(datas;2);
hIni;CHOISIRCOLS(datas;1);
hFinal;MAP(SEQUENCE(LIGNES(fIni));LAMBDA(i;
REDUCE("";PRENDRE(hIni;i);LAMBDA(acc;v;SI(v>0;SI(CNUM(v)<10;1;2);acc)))));
fruits;FILTRE(fIni;fIni<>""); qtX;FILTRE(CHOISIRCOLS(datas;colQ);fIni<>""); hangars;FILTRE(hFinal;fIni<>"");
PIVOTBY(fruits;hangars;qtX;SUM;;0;1;0;1))

Bonjour à tous,

Comme évoqué précédemment ce que vous voulez c'est un TCD mais vous avez un tableau d'entrée très ennuyeux à utiliser.

Ci-joint une autre proposition XL365 de type formules dynamiques. (j'obtiens les mêmes résultats que @tulipe)

=LET(datas;C5:.H10000;colQ;5;
fIni;CHOISIRCOLS(datas;2);
hIni;CHOISIRCOLS(datas;1);
hFinal;MAP(SEQUENCE(LIGNES(fIni));LAMBDA(i;
REDUCE("";PRENDRE(hIni;i);LAMBDA(acc;v;SI(v>0;SI(CNUM(v)<10;1;2);acc)))));
fruits;FILTRE(fIni;fIni<>""); qtX;FILTRE(CHOISIRCOLS(datas;colQ);fIni<>""); hangars;FILTRE(hFinal;fIni<>"");
PIVOTBY(fruits;hangars;qtX;SUM;;0;1;0;1))

l'ennui , ce sont les cel fusionnées et en texte

Oui, j'ai passé un petit bon moment pour "retrouver" un tableau qui passe dans le PIVOTBY… Si on partait d'un TS classique un simple somme.si.ens/TCD et ce serait réglé…

Bonjour à tous !

Une proposition type formule unique et dynamique qui génère l'entièreté du tableau :

=LET(
    t; C5:H52;
    t_; FILTRE(t; CHOISIRCOLS(t; 4) <> 0);
    s; SCAN(""; PRENDRE(t_; ; 1); LAMBDA(a; c; SI(c = ""; a; c)));
    f; CHOISIRCOLS(ASSEMB.H(s; EXCLURE(t_; ; 1)); 1; 2; 5; 6);
    g; GROUPER.PAR(
        CHOISIRCOLS(f; 2);
        ASSEMB.H(
            PRENDRE(f; ; -2);
            SI(PRENDRE(f; ; 1) * 1 < 10; PRENDRE(f; ; -2); 0);
            SI(PRENDRE(f; ; 1) * 1 > 9; PRENDRE(f; ; -2); 0)
        );
        SOMME;
        ;
        0
    );
    ASSEMB.V(
        ASSEMB.H(
            {
                "Produit".
                "Total X".
                "Total Y".
                "Total X (h<=9)".
                "Total Y (h<=9)".
                "Total X (h>10)".
                "Total Y (h>10)"
            }
        );
        g
    )
)

Tableau retourné (avec une pincée de mise en forme....) :

image

Bonjour à tous !

Un petit retour ?

Jolie formule @JFL, mais j'ai du mal à comprendre l'ASSEMB.H sur une array :

ASSEMB.H( { "Produit". "Total X". "Total Y". "Total X (h<=9)". "Total Y (h<=9)". "Total X (h>10)". "Total Y (h>10)" }

Pourquoi ne pas simplement utiliser ASSEMB.H(v1; v2;…) ou bien {v1\v2\v3} ?

Personnellement avec tous les problèmes de compatibilités entre les langues, j'ai décidé d'utiliser la 1e option, mais le mix des 2 j'ai du mal à saisir. Un oubli ?

Bonjour à tous !

@saboh12617 : Hello !

Sur cet aspect, très secondaire, les trois syntaxes sont équivalentes.

La première doit résulter d'une simple représentation mentale de la chose....

Rechercher des sujets similaires à "formules recherche fonction critere compris entre deux valeurs"