Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Extraire les voisins de chaque colonne.

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

bobylaroche

XLDnaute Occasionnel
Bonjour à toutes et à tous,

Un nouveau problème que je ne peux résoudre.
Comme données, quatre colonnes ou sont répartis les chiffres 1à 8 au minimum et 1 à 20 au maximum.
Pour chacune des colonnes, je souhaiterai extraire les voisins formant une série de 2 chiffres ou plus.
Si l'une ou l'un d'entre vous a une idée !

Pour une meilleure compréhension, un classeur est fourni en pièce jointe.

Merci.
 

Pièces jointes

Bonjour,
si cela ne te gêne pas de récupérer les résultats dans une seule colonne, cela peut se faire par formule :
pour les voisins :
Code:
=PETITE.VALEUR(SI((E$8:H$27<>"")*(DECALER(E$8:H$27;1;;20;4)+DECALER(E$8:H$27;-1;;20;4));E$8:H$27);LIGNE(1:1))

Pour les isolés :
Code:
=PETITE.VALEUR(SI((E$8:H$27<>"")*(DECALER(E$8:H$27;1;;20;4)="")*(DECALER(E$8:H$27;-1;;20;4)="");E$8:H$27);LIGNE(1:1))

Formules à valider en matriciel et à tirer vers le bas.
A+
 
On peut éventuellement isoler les résultats de chaque colonne.
Pour les voisins :
Code:
=SIERREUR(PETITE.VALEUR(SI((E$8:E$27<>"")*(DECALER(E$8:E$27;1;;20)+DECALER(E$8:E$27;-1;;20));E$8:E$27);LIGNE(1:1));"")
Pour les isolés :
Code:
=SIERREUR(PETITE.VALEUR(SI((E$8:E$27<>"")*(DECALER(E$8:E$27;1;;20;)="")*(DECALER(E$8:E$27;-1;;20;)="");E$8:E$27);LIGNE(1:1));"")
Toujours validation en matriciel mais à tirer vers la droite et le bas.
A+
 
Merci David, sympas les formules 🙂 C'est presque cela mais j'ai un souci.
Cela fonctionne sur la feuille donnée en exemple mais pas sur la feuille destinée à recevoir les formules.
Pourtant "l'adresse" des colonnes à bien été modifié. Je ne comprends pas !
J'ai ajouté la feuille au classeur Exemple.
Bon dimanche et encore merci pour l'aide et le temps passé.
 

Pièces jointes

C'est normal car dans ton exemple initial la plage ne comporte pas de formules alors que c'est le cas dans la plage BF$7:BF$26.
Donc dans ce cas la condition BF$7:BF$26<>"" n'est plus adaptée puisque ta cellule n'est pas vide...
Il te faut donc modifier ta condition, par exemple en testant si ta cellule contient une valeur numérique :
Code:
=SIERREUR(PETITE.VALEUR(SI(ESTNUM(BF$8:BF$27)*(ESTNUM(DECALER(BF$8:BF$27;1;;20))+ESTNUM(DECALER(BF$8:BF$27;-1;;20)));BF$8:BF$27);LIGNE(1:1));"")

Dans ton exemple tu peux éventuellement te passer de DECALER :
Code:
=SIERREUR(PETITE.VALEUR(SI(ESTNUM(BF$7:BF$26)*(ESTNUM(BF$8:BF$27)+ESTNUM(BF$6:BF$25));BF$7:BF$26);LIGNE(1:1));"")
A+
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

L
Réponses
5
Affichages
3 K
W
Réponses
10
Affichages
2 K
Willam 76000
W
V
Réponses
13
Affichages
18 K
I
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…