Table des matières
En général, le TRANSPOSE peut souvent être utilisée pour convertir des lignes en colonnes. Cependant, les résultats dépendant de certains critères, tels que les valeurs uniques, ne seront pas renvoyés. Dans ce tutoriel, nous allons vous montrer comment transposer les lignes en colonnes en fonction de critères dans Excel.
Télécharger le cahier d'exercices
Téléchargez ce cahier d'exercices pour vous entraîner pendant que vous lisez cet article.
Transposer les lignes en colonnes avec des critères.xlsm2 approches pratiques pour transposer des lignes en colonnes en fonction de critères dans Excel
Nous avons inclus un ensemble de données de plusieurs produits et de leurs quantités dans la figure ci-dessous. L'ensemble de données est le suivant Les lignes seront ensuite transposées en colonnes. Nous allons transposer les lignes en colonnes en fonction des critères. des valeurs uniques parce qu'il y a quelques entrées en double dans une cellule séparée. Tout d'abord, nous utiliserons la fonction INDEX , MATCH , COUNTIF , SI et IFERROR pour créer des formules. Nous allons également exécuter une fonction VBA pour accomplir la même chose.
Appliquer une formule avec les fonctions INDEX, MATCH et COUNTIF pour transposer des lignes en colonnes en fonction de critères dans Excel.
Au début, nous appliquerons les formules du INDEX , MATCH , COUNTIF , SI et IFERROR fonctions avec des tableaux.
Étape 1 : Insérer les fonctions INDEX, MATCH et COUNTIF
- En cellule E5 , tapez la formule suivante pour obtenir les produits uniques.
=INDEX($B$5:$B$12, MATCH(0, COUNTIF($E$4:$E4, $B$5:$B$12), 0))
Étape 2 : Appliquer le tableau
- Pour appliquer la formule avec un tableau, appuyez sur Ctrl + Équipe + Entrez
- Par conséquent, vous obtiendrez le premier résultat unique.
Étape 3 : Remplissage automatique des cellules
- Pour obtenir toutes les valeurs uniques, utilisez la fonction AutoFill Outil à poignée pour remplir automatiquement la colonne.
Étape 4 : Saisir les fonctions IFERROR
- Pour transposer la valeur en ligne des quantités en colonnes, écrivez la formule suivante.
=IFERROR(INDEX($C$5:$C$12, MATCH(0, COUNTIF($E5:E5, $C$5:$C$12) + IF($B$5:$B$12$E5,1,0),0)),0)
Étape 5 : Appliquer le tableau
- Pour insérer un tableau, appuyez sur Ctrl + Équipe + Entrez .
- En conséquence, les cellules F5 affichera la première valeur transposée comme dans l'image ci-dessous.
- Faites glisser vers le bas avec le Outil pour poignée AutoFill pour remplir automatiquement la colonne.
- Enfin, remplissez automatiquement les rangées avec les éléments suivants Outil pour poignée AutoFill .
- Par conséquent, toutes les lignes transposées se transformeront en colonnes comme dans l'image ci-dessous.
Lire la suite : Transposer plusieurs lignes d'un groupe en colonnes dans Excel
Lectures similaires
- Comment transposer des lignes dupliquées en colonnes dans Excel (4 façons)
- Excel VBA : transposer plusieurs lignes d'un groupe en colonnes
- Transposer plusieurs colonnes en une seule colonne dans Excel (3 méthodes pratiques)
- Comment inverser la transposition dans Excel (3 méthodes simples)
2. exécuter un code VBA pour transposer les lignes en colonnes en fonction de critères dans Excel
Étape 1 : Créer un module
- Tout d'abord, appuyez sur Alt + F11 pour commencer Macro VBA .
- Cliquez sur Insérer .
- Pour créer un Module sélectionnez le Module option.
Étape 2 : Tapez les codes VBA
- Collez les éléments suivants VBA
Sub TransposeRows() 'Définir les variables Dim RowsNumber As Long Dim p As Long Dim xColCr As String Dim xColumn As New Collection Dim InputRng As Range Dim OutputRng As Range Dim RngText As String Dim CountRow As Long Dim xRowRg As Range On Error Resume Next 'Définir les valeurs et la boîte de saisie pour la plage de saisie RngText = ActiveWindow.RangeSelection.Address Set InputRng = Application.InputBox("Select Your Input")Range for 2 columns :", "ExcelWIKI", RngText, , , , , 8) Set InputRng = Application.Intersect(InputRng, InputRng.Worksheet.UsedRange) 'Apply Condition to count only 2 columns and to show msg box for alerting to select only two columns If InputRng Is Nothing Then Exit Sub If (InputRng.Columns.Count 2) Or _ (InputRng.Areas.Count> ; 1) Then MsgBox "The specified range is only area for 2 columns ",, "ExcelWIKI" Exit Sub End If 'Définir les valeurs et la boîte de saisie pour la plage de saisie Set OutputRng = Application.InputBox("Select Your Output Range (one cell) :", "ExcelWIKI", RngText, , , , 8) If OutputRng Is Nothing Then Exit Sub Set OutputRng = OutputRng.Range(1) 'Count RowsNumber = InputRng.Rows.Count 'Apply For loop For p = 2 To RowsNumber xColumn.Add InputRng.Cells(p, 1).Value, InputRng.Cells(p,1).Value Next Application.ScreenUpdating = False For p = 1 To xColumn.Count xColCr = xColumn.Item(p) OutputRng.Offset(p, 0) = xColCr InputRng.AutoFilter Field:=1, Criteria1:=xColCr Set xRowRg = InputRng.Range("B2:B" & ; RowsNumber).SpecialCells(xlCellTypeVisible) If xRowRg.Count> ; CountRow Then CountRow = xRowRg.Count 'Copy and paste with transpose InputRng.Range("B2:B" & ;RowsNumber).SpecialCells(xlCellTypeVisible).Copy OutputRng.Offset(p, 1).PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:=False, Transpose:=True Application.CutCopyMode = False Next OutputRng = InputRng.Cells(1, 1) OutputRng.Offset(0, 1).Resize(1, CountRow) = InputRng.Cells(1, 2) InputRng.Rows(1).Copy OutputRng.Resize(1, CountRow + 1).PasteSpecial Paste:=xlPasteFormatsInputRng.AutoFilter Application.ScreenUpdating = True End Sub
Étape 3 : Exécuter le programme
- D'abord, sauver et appuyez sur F5 pour exécuter le programme.
- Sélectionnez votre ensemble de données avec l'en-tête.
- Cliquez sur OK .
- Sélectionnez une cellule pour obtenir le sortie
- Ensuite, cliquez sur OK .
- En conséquence, vous obtiendrez des résultats qui sont des lignes transposées en colonnes, comme le montre l'image ci-dessous.
Lire la suite : Comment transposer des lignes en colonnes à l'aide d'Excel VBA (4 exemples idéaux)
Conclusion
J'espère que cet article vous a donné un tutoriel sur la façon de transposer les lignes en colonnes en fonction de critères dans Excel Toutes ces procédures doivent être apprises et appliquées à votre ensemble de données. Jetez un coup d'œil au cahier d'exercices et mettez ces compétences à l'épreuve. Nous sommes motivés pour continuer à créer des tutoriels comme celui-ci grâce à votre précieux soutien.
Si vous avez des questions, n'hésitez pas à nous les poser. N'hésitez pas non plus à laisser des commentaires dans la section ci-dessous.
Nous, les Exceldemy sont toujours à l'écoute de vos demandes.
Restez avec nous & ; continuez à apprendre.