Decaler ou formule matricielle ?

azaaaa

XLDnaute Nouveau
Bonjour,


Voici ma petite prise de tête du moment.

Pour faire simple, dans ma première colonne (A) j'ai une liste de référence ponctuée de 0.
Le but serait d'insérer dans la colonne voisine (B) ces références sans les 0 et en les remplacant par la dernière valeur non nulle de la première colonne sans vba.

Voila un exemple:

A B
1 100 100
2 0 100
3 0 100
4 120 120
5 0 120
6 0 120
7 0 120
8 415 415
9 0 415
10 0 415

La formule serait donc à insérer en B1:B10.


Merci de votre aide :)
 
Dernière édition:

azaaaa

XLDnaute Nouveau
Re : Decaler ou formule matricielle ?

Rebonjour à vous 2 :)

Merci Hoerwind, c'est tout bête et je n'y avais pas pensé..

Je continue un peu dans mes casses têtes. Maintenant que cette table est rempli:


197005d1316594349-decaler-ou-formule-matricielle-excel.jpg


Le tableau étant difficilement lisible je joins un fichier en PJ

Avez vous une idée ?
 

Pièces jointes

  • suite et fin.xls
    18.5 KB · Affichages: 51
  • excel.JPG
    excel.JPG
    30.8 KB · Affichages: 196
  • suite et fin.xls
    18.5 KB · Affichages: 55
  • excel.JPG
    excel.JPG
    30.8 KB · Affichages: 215
  • suite et fin.xls
    18.5 KB · Affichages: 56
  • excel.JPG
    excel.JPG
    30.8 KB · Affichages: 214
Dernière édition:

hoerwind

XLDnaute Barbatruc
Re : Decaler ou formule matricielle ?

Bonjour,

Essaie ceci en G4 :
Code:
=SI(RECHERCHEV("A";B$4:C$18;2;0)=F4;"A";SI(RECHERCHEV("B";B$4:C$18;2;0)=F4;"B";SI(RECHERCHEV("C";B$4:C$18;2;0)=F4;"C";"")))
à copier vers le bas

Il y aussi :
Code:
=CHOISIR(EQUIV(F4;{100;120;150};0);"A";"B";"C")

Il y a peut-être plus simple (ou plus compliqué) cela dépend de l'organisation de ton tableau définitif, les valeurs de la colonne F sont-elles toujours triées, le nombre de valeurs en colonne E n'est-il pas trop important, ... ?
On pourrait également songer à créer un petit tableau de correspondances, ...
 

azaaaa

XLDnaute Nouveau
Re : Decaler ou formule matricielle ?

Vos formules fonctionnent à merveille sauf pour un cas particulier:

Celui où une référence est associé à une donnée déjà utilisée. Voici l'exemple:

197018d1316605429-decaler-ou-formule-matricielle-excel.jpg


Pour info mon tableau est assez conséquent (plusieurs milliers de lignes et il existe une vingtaine de références type 100, 120 etc. mais moins pour les références type A, B, C. Néanmoins vos formules sont parfaites le temps de calcul n'est pas tres long.
 

Pièces jointes

  • suite et fin.xls
    19.5 KB · Affichages: 56
  • excel.JPG
    excel.JPG
    38.8 KB · Affichages: 227
  • suite et fin.xls
    19.5 KB · Affichages: 56
  • excel.JPG
    excel.JPG
    38.8 KB · Affichages: 222
  • suite et fin.xls
    19.5 KB · Affichages: 48
  • excel.JPG
    excel.JPG
    38.8 KB · Affichages: 197
Dernière édition:

azaaaa

XLDnaute Nouveau
Re : Decaler ou formule matricielle ?

Super. Merci à vous 2. Normalement pour le reste, rien de bien compliqué.
Juste pour ma culture excel et pour que je ne vienne pas vous embêter à chaque fois.

Qu'est ce qu'excel calcule avec ce type de formule : H3+(G4<>G3) => notamment le double signe <>
Et que signifie "?*" dans la fomule EQUIV et comment s'en sert-on ?

Merci encore :)
 

hoerwind

XLDnaute Barbatruc
Re : Decaler ou formule matricielle ?

Re,

G4<>G3 teste si G4 est différent de G3 et renvoie VRAI ou FAUX.
Ce résultat additionne 1 ou 0, suivant le cas, à H3

Le caractère générique ? remplace n'importe quel caractère.
Consulte l'aide MS à ce sujet

Édition : salut tototiti
Très belle formule, j'apprécie !
 
Dernière édition:

tototiti2008

XLDnaute Barbatruc
Re : Decaler ou formule matricielle ?

Re,

Édition : salut tototiti
Très belle formule, j'apprécie !
Merci hoerwind, j'apprécie le compliment ;), venant de toi particulièrement :)

Et que signifie "?*" dans la fomule EQUIV et comment s'en sert-on ?
Comme précisé par hoerwind, ? et * sont des caractères génériques
equiv("?*";Plage;0) renvoie la position de la première cellule de la plage contenant au moins un caractère, je retrouve donc ainsi le prochain texte rempli de la colonne E
 

Discussions similaires

Statistiques des forums

Discussions
312 581
Messages
2 089 910
Membres
104 303
dernier inscrit
Patdec