Google Sheet / Dupliquer 3 colonnes dans Une seule

Bonjour,

J'ai un formulaire de réponses dans lequel remontent des horaires dans 3 colonnes (il y a donc des cases vides dans chaque colonne).

Je souhaiterais :

- créer une colonne dans laquelle s'afficheront les horaires des 3 colonnes (I,L et P) qui reçoivent automatiquement des horaires ;

- puis pouvoir trier ma plage chronologiquement (grâce a cette nouvelle colonne dans laquelle tous les horaires s'afficheraient).

Merci.

Bonjour,

Vous pouvez utiliser SORT pour trier les valeurs, et VSTACK pour joindre les colonnes concernées.

Vu que vous n'avez pas précisé si vos données sont dans un tableau structuré ou non (ce que je vous recommanderai), j'ai du utiliser FILTER sur les colonnes entières pour récupérer les valeurs non vides. Cependant c'est très lourd. Avec un tableau structuré il suffirait de remplacer ces FILTER(I:I;I:I<>"") par, par exemple, maTable[colonneI]. Beaucoup beaucoup plus efficace.

La formule

(EN) =SORT(VSTACK(FILTER(I:I;I:I<>"");FILTER(L:L;L:L<>"");FILTER(P:P;P:P<>"")))
(FR) =TRIER(ASSEMB.V(FILTRE(I:I;I:I<>"");FILTRE(L:L;L:L<>"");FILTRE(P:P;P:P<>"")))

Bonjour merci pour votre réponse (désolé pour mon manque de réaction, j'ai une bonne grippe).

Je teste ça dans l'après-midi. Encore merci

Bonjour,

Je n'y arrive pas.

je vous joins le lien :https://docs.google.com/spreadsheets/d/1-SjWVDB0dTh6AzKSuV3CXWtyrxRweLWbIgoaOgm5sOE/edit?usp=drive_l...

le jour du dimanche a des réponses de test pour les 3 colonnes possibles.

D'avance merci.

Bonjour,

Je ne comprends/devine pas ce qui ne "fonctionne pas" pour vous. Chez moi la formule fonctionne très bien.

En utilisant votre tableau structuré, au lieu des colonnes entières comme je le disais, on peut écrire :

=SORT(VSTACK(FILTER(Form_Responses1[Heure d''arrivée (du train,
     avion,
     bus...)];Form_Responses1[Heure d''arrivée (du train,
     avion,
     bus...)]<>"");FILTER(Form_Responses1[Heure de départ (de l''avion,
     train,
     bus...)];Form_Responses1[Heure de départ (de l''avion,
     train,
     bus...)]<>"");FILTER(
         Form_Responses1[Heure d''arrivée à la destination];Form_Responses1[Heure d''arrivée à la destination]<>""
     )))

Il suffit simplement de formater la colonne des résultats en "horaire" si vous avez des nombres à virgules.

Bonjour,

Merci pour votre réponse.
Effectivement ce n'est pas que ça ne fonctionne pas c'est que je ne sais pas comment intégrer votre formule (je suis très très novice...)
Je remets le lien modifiable ci-dessous :

https://docs.google.com/spreadsheets/d/1-SjWVDB0dTh6AzKSuV3CXWtyrxRweLWbIgoaOgm5sOE/edit?usp=sharing

Encore merci

Attendez, je crois qu'on s'est mal compris.

trier ma plage chronologiquement (grâce a cette nouvelle colonne dans laquelle tous les horaires s'afficheraient)

Quand vous disiez "ma plage", vous parliez de votre tableau, pas du "résultat de la fonction"… J'avais mal compris.

J'ai ajouté tout à droite de votre tableau deux colonnes :

[Plage] qui contient la plus grande valeur (sur sa ligne) entre I,L et P. (donc les 0 ⇔ vide sont ignorés)

Et [Doublons] qui renvoi VRAI/TRUE si il y a >1 horaire sur la ligne (sur I,L,P) ce qui voudrait dire qu'on en "rate un" si vous voyez ce que je veux dire.

Il vous suffit maintenant de trier la colonne [Plage] en cliquant sur la petite flèche [↓].

Merci beaucoup.

En fait sur cette premiere page 'réponses' je n'ai pas de soucis les demandes arrivent dans l'ordre de création et c'est très bien.

C'est sur les pages 'jour' que j'ai besoin de trier chronologiquement les demandes, pas selon leur ordre de création comme dans la page 'réponses' mais selon les horaires qui apparaissent en colonne I, L et P.

Un grand merci, désolé pour mon manque de clarté...

J'ai intégré un tri sur la colonne [Plage] de mon précédent message dans votre QUERY sur la feuille "Jeudi 30". Regardez bien, la requete SQL a changé mais la plage aussi ! J'ai mis votre tableau structuré, c'est beaucoup mieux qu'une plage approximative, car ça s'adapte automatiquement au nombre de lignes/colonnes.

Je vous laisse recopier sur les feuilles suivantes.

=QUERY(Form_Responses1[#ALL];
"Select Col1, Col2, Col3, Col4, Col5, Col6, Col7, Col8, Col9, Col10, Col11, Col12, Col13, Col14, Col15, Col16, Col17, Col18 where Col6='Jeudi 30 janvier' order by Col19")

Ca marche très bien merci, j'ai essayé de renvoyer les réponses vers ce tableau mais ça a créé une nouvelle colonne de réponses et ça a mis le bazar.

Vous pourriez me refaire la manip sur le doc final ?

https://docs.google.com/spreadsheets/d/1VK-fHHWYU2EPQtwa30sjeWfvJk5-RZY3lJWXuOIMNT8/edit?usp=drive_l...

Encore un énorme merci je suis vraiment largué sur ce sujet.

Et bien oui, il fallait garder la colonne [Plage] puisqu'on l'utilise pour faire le tri…

Je vous l'ai rajouté et j'ai MAJ la première feuille, "jeudi 30". Je vous laisse faire le reste sur ce principe.

Un énorme merci pour votre compétence et votre patience !

Merci pour votre retour, heureux de pouvoir aider. Bonne fin de journée et bon weekend.

Bonjour,

Je suis désolé de revenir vers vous.

J'ai effacé les lignes de test (il y en avait 41) et depuis le tri que vous aviez mis en place ne se fait plus. Est-ce lié ?

Merci

Bonjour,

Ma boule de cristal est en panne… je ne pourrais pas vous répondre précisément désolé.

A mon avis vous avez encore une fois modifié la structure des colonnes de votre tableau source, ou bien modifié son nom, ou bien vous n'avez pas mis à jour la date recherchée dans votre Query.

Je vous invite à lire l'aide sur la fonction QUERY et les bases de la syntaxe SQL. Ça vous permettra de comprendre les fonctions que vous utilisez et leurs limites.

Merci pour votre réponse.

J'ai l'impression que c'est le (Form_Responses2[#ALL] qui ne correspond pas à "reponses" ou arrivent toutes les réponses ?

https://docs.google.com/spreadsheets/d/1VK-fHHWYU2EPQtwa30sjeWfvJk5-RZY3lJWXuOIMNT8/edit?resourcekey...

Rechercher des sujets similaires à "google sheet dupliquer colonnes seule"