web-dev-qa-db-fra.com

Comment convertir les valeurs Excel en compartiments?

J'ai un ensemble de données dans Excel et dans une colonne se trouve une estimation (nombre de semaines)

Je veux une formule Excel pour l'insérer dans

  • Petit
  • Moyen
  • Grand

où si la valeur est 0 - 10 alors mettez-le petit. Si la valeur est comprise entre 10 et 20, indiquez-le dans Moyen, etc. . .

s'il y a une manière élégante de le faire en plus d'avoir imbriqué si les déclarations sont toutes assemblées?

7
leora

Ce n'est peut-être pas tout à fait ce que vous recherchiez, mais pourquoi ne pas utiliser la fonctionnalité de mise en forme conditionnelle d'Excel

EDIT: En tant que remplaçant, vous pouvez créer une fonction vba agissant comme une formule permettant d'effectuer le calcul pour vous. Quelque chose comme: 

Function getBucket(rng As Range) As String
    Dim strReturn As String

    Select Case rng.Value
        Case 0 to 10
            strReturn = "Small"
        Case 11 To 20
             strReturn = "Medium"
        Case 21 To 30
             strReturn = "Large"
        Case 31 To 40
             strReturn = "Huge"
        Case Else
             strReturn = "OMG!!!"
    End Select
    getBucket = strReturn
End Function
5
Nathan Fisher

Le bon outil pour cela consiste à créer une plage avec vos limites et les noms correspondants. Vous pouvez ensuite utiliser la fonction vlookup (), le quatrième paramètre étant défini sur Truepour créer un recherche de plage .

 enter image description here

12
Patrick Honorez

Une autre méthode pour créer ceci consisterait à utiliser les __ conditionnels if ... ce qui signifie que vous référencez une cellule qui a une valeur et en fonction de cette valeur, cela vous donnera un compartiment tel que small.

Par exemple, =if(b2>30,"large",if(b2>20,"medium",if(b2>=10,"small",if(b2<10,"tiny",""))))

Donc, si la cellule b2 avait la valeur 12, elle renverrait le mot small.

J'espère que c'est ce que vous cherchez.

7
Aris Laguna

Si tout ce que vous avez à faire est count combien de valeurs appartiennent à chaque catégorie, il s'agit d'une question statistique classique et peut être résolue très élégamment avec un "histogramme". 

Dans Excel, vous utilisez le complément d'analyse de données (si vous ne le possédez pas déjà, reportez-vous au lien ci-dessous). Une fois que vous avez compris les histogrammes, vous pouvez séparer vos données dans des compartiments - appelés "bacs" - très rapidement, ajuster facilement vos bacs et cartographier automatiquement les données.

Il s’agit de trois étapes simples: 1) Mettez vos données dans une colonne 2) Créez une colonne pour vos bacs (10, 20, 30, etc.) 3) Sélectionnez Données. -> Analyse des données -> Histogramme et suivez les instructions pour sélectionner la plage de données et les bacs (vous pouvez placer les résultats dans une nouvelle feuille de calcul et tracer les résultats à partir de ce même menu).

http://office.Microsoft.com/en-us/Excel-help/create-a-histogram-HP001098364.aspx

6
Alex

Vous recherchez la fonction LOOKUP. s'il vous plaît voir la page suivante pour plus d'informations:

Seaux de données (dans une plage)

5
RussellZ

La fonction LOOKUP () est un bon moyen de créer des compartiments. 

Dans cet exemple contient la cellule A1 est un nombre de jours. Le deuxième paramètre est une liste de valeurs. Le troisième paramètre est la liste des noms de compartiment.

= RECHERCHE (A1, {0,7,14,31,90,180,360}, {"0-6", "7-13", "14-30", "31-89", "90-179", "180 -359 ","> 360 "})

4
Data Teddy

Voici une solution qui:

  • Est autonome
  • Ne nécessite pas de VBA
  • N’est pas limité de la même manière que les IF concernant les maximums de godet
  • Ne nécessite pas de valeurs précises comme le fait LOOKUP

=INDEX({"Small","Medium","Large"},LARGE(IF([INPUT_VALUE]>{0,11,21},{1,2,3}),1))

Remplacez [INPUT_VALUE] par la référence de cellule appropriée et veillez à appuyer sur Ctrl + Maj + Entrée car il s'agit d'une formule matricielle.

Chacune des constantes du tableau peut être étendue pour être arbitrairement longue; aussi longtemps que la formule ne dépasse pas le maximum de 8 192 caractères d'Excel. La première constante doit contenir les valeurs de retour, la seconde doit contenir des seuils ordonnés et la troisième doit simplement être des entiers ascendants.

3
Skoddie

Peut-être que cela pourrait vous aider: 

=IF(N6<10,"0-10",IF(N6<20,"10-20",IF(N6<30,"20-30",IF(N6<40,"30-40",IF(N6<50,"40-50")))))

Il suffit de remplacer les valeurs et le texte en petit, moyen et grand.

2
user6547605

Si les conditions sont la meilleure façon de le faire. Si vous voulez le nombre, utilisez un tableau croisé dynamique des compartiments. C'est le moyen le plus simple et si les conditions peuvent aller pour plus de 5-6 seaux 

0
Lucky Parashar

Je préfère étiqueter les seaux avec une formule numérique. Si la taille du seau est de 10, les étiquettes sont alors 0,1,2, ...

=INT(A1/10)

Si vous placez la taille du seau 10 dans une cellule distincte, vous pouvez facilement le modifier.

Si la cellule B1 contient le compartiment (0,1,2, ...) et que la colonne 6 contient les noms Low, Medium, High, cette formule convertit un compartiment en nom:

=INDIRECT(ADDRESS(1+B1,6))

Alternativement, cela marque les seaux avec la plus petite valeur de l’ensemble, c’est-à-dire 0,10,20, ...

=10*INT(A1/10)

ou cela les étiquette avec la gamme 0-10,10-20,20-30-30, ...

=10*INT(A1/10) & "-" & (10*INT(A1/10)+10)
0
arx

J'utilise cette astuce pour un seau de données égal. Au lieu du résultat de texte, vous obtenez le numéro. Voici un exemple pour quatre seaux. Supposons que vous ayez des données dans la plage A1:A100. Mettez cette formule en B1:

=MAX(ROUNDUP(PERCENTRANK($A$1:$A$100,A1) *4,0),1)

Remplissez la formule dans toute la colonne B et vous avez terminé. La formule divise la plage en 4 compartiments égaux et renvoie le numéro de compartiment dans lequel la cellule A1 se trouve. Le premier compartiment contient les 25% les plus bas des valeurs. 

Ajuste le nombre de seaux selon ton souhait:

=MAX(ROUNDUP(PERCENTRANK([Range],[OneCellOfTheRangeToTest]) *[NumberOfBuckets],0),1)

Le nombre d'observations dans chaque compartiment sera égal ou presque égal. Par exemple, si vous avez 100 observations et que vous souhaitez le scinder en 3 compartiments (comme dans votre exemple), les compartiments contiendront 33, 33, 34 observations. Donc presque égal. Vous n'avez pas à vous soucier de cela - la formule fonctionne pour vous.

0
Przemyslaw Remin