Formule Excel pour obtenir les 5 dernières valeurs non nulles et les noms de deux colonnes ayant respectivement des références

1

J'ai une plage de données dans quatre colonnes dans Excel, comme ci-dessous. Les colonnes A, B sont au format texte, les colonnes C, D sont générées à l'aide du lien de référence. C (F) et D (F) affichent les valeurs de C et D des barres de la formule. Puisque les cellules A10, A11, B10, B11 sont vides, C10, C11, D10, D11 indiquent «0».

J'essaie d'obtenir les 5 dernières valeurs non nulles dans l'ordre indiqué dans les colonnes E et F, mais uniquement à partir des colonnes C et D, et non directement à partir des colonnes A ou B.

     A       B      C(F)    D(F)      C       D      E      F    
 1 Name     Val     Name    Val     Name     Val   Name     Val
 2 abc01    101     =A2     =B2     abc01    101   abc04    104
 3 abc02    102     =A3     =B3     abc02    102   abc05    105
 4 abc03    103     =A4     =B4     abc03    103   abc06    106
 5 abc04    104     =A5     =B5     abc04    104   abc07    107
 6 abc05    105     =A6     =B6     abc05    105   abc08    108
 7 abc06    106     =A7     =B7     abc06    106
 8 abc07    107     =A8     =B8     abc07    107
 9 abc08    108     =A9     =B9     abc08    108
10                  =A10    =B10      0       0
11                  =A11    =B11      0       0

Si une ligne de données est ajoutée aux colonnes A et B, les colonnes E et F doivent être reflétées comme ci-dessous.

     A       B      C(F)    D(F)      C       D      E      F    
 1 Name     Val     Name    Val     Name     Val   Name     Val
 2 abc01    101     =A2     =B2     abc01    101   abc05    105
 3 abc02    102     =A3     =B3     abc02    102   abc06    106
 4 abc03    103     =A4     =B4     abc03    103   abc07    107
 5 abc04    104     =A5     =B5     abc04    104   abc08    108
 6 abc05    105     =A6     =B6     abc05    105   abc09    109
 7 abc06    106     =A7     =B7     abc06    106
 8 abc07    107     =A8     =B8     abc07    107
 9 abc08    108     =A9     =B9     abc08    108
10 abc09    109     =A10    =B10    abc09    109
11                  =A11    =B11      0       0
Asnr
la source

Réponses:

1

Si toutes les valeurs autres que zéro apparaissent avant les premiers zéros, vous pouvez rechercher le zéro, puis indexer à l'envers. Entrer

  • =INDEX(C:C, MATCH(0,C:C,0)-5, 1) dans E2
  • =INDEX(C:C, MATCH(0,C:C,0)-4, 1) dans E3
  • =INDEX(C:C, MATCH(0,C:C,0)-3, 1) dans E4
  • =INDEX(C:C, MATCH(0,C:C,0)-2, 1) dans E5
  • =INDEX(C:C, MATCH(0,C:C,0)-1, 1) dans E6

puis sélectionnez-les et faites glisser / remplir vers la droite, dans F2:F6. Comme je l'ai dit au début, ceci recherche dans la colonne  Cun 0, puis extrait les valeurs des cinq lignes précédentes.

Scott
la source
Puis-je faire une suggestion? Si vous remplacez le "-5" dans la première formule par +ROW()-7, cette formule peut être remplie à droite et en bas.
Bandersnatch
1
Oui, cela m'est venu à l’esprit. J'ai choisi de garder les choses simples pour faciliter la compréhension des nouveaux utilisateurs.
Scott