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

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.


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
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.