2 votes

Ajout massif de données à une feuille existante dans Excel

J'ai une feuille Excel qui garde la trace des personnes qui ont participé à certaines activités. Je veux maintenant ajouter une activité avec des centaines de personnes, dont certaines ont déjà participé à d'autres. Je veux ensuite trier les personnes en fonction de leur participation à une activité.

Pour clarifier :

screenshot

Quel est le moyen le plus simple d'y parvenir ?

Merci :)

0voto

Jook Points 1865

Voici une solution sans VBA. Je la recommanderais, s'il s'agit de quelque chose de plus rare qu'une tâche mensuelle.

Voici comment configurer vos données - notez que les colonnes A-D sont les "nouvelles colonnes".

This is the setup

Voici les formules - installez-les sur la ligne 2, puis copiez-les vers le bas :

A2=IF(ISBLANK(F2),INDEX(J:J,ROW()-COUNTIF(F:F,"*")+1),F2)

B2=IFERROR(T(VLOOKUP($A2,$F:$H,2,FALSE)),"")

C2=IFERROR(T(VLOOKUP($A2,$F:$H,3,FALSE)),"")

D2=IFERROR(T(VLOOKUP($A2,$J:$K,2,FALSE)),"")

A2 remplit tous les noms de votre tableau d'activités actuel, jusqu'à ce qu'il obtienne des cellules vides. Ensuite, vous commencez à remplir les noms de votre nouveau tableau d'activités, en utilisant la méthode suivante COUNTIF pour obtenir le nombre de cellules non vides et ROW y +1 pour obtenir le bon INDEX / Nom.

Il ne vous reste plus qu'à faire des recherches séparées pour vos activités.

Comme vous le voyez, vous obtiendrez des doublons, mais ils peuvent être facilement traités. Je vous suggère de copier les zones A à D en tant que valeurs vers une autre destination, puis d'utiliser la gomme intégrée pour les doublons de l'outil de création de fichiers. données onglet.

Bien sûr, vous pourriez le faire avec VBA, mais il s'agit souvent d'une tâche effectuée par des utilisateurs inexpérimentés - et pour créer une version dynamique sûre pour l'utilisateur, il faut beaucoup de code et beaucoup plus de détails. Cependant, je tiens à vous rappeler qu'il s'agit d'une tâche de base de la base de données, et qu'elle peut être réalisée beaucoup plus facilement avec les fonctions de la base de données.

0voto

pnuts Points 5964

Puisque vous mentionnez "Je veux trier en fonction de l'heure à laquelle ils ont participé à une activité", je suppose que vos X représentent des heures (pour lesquelles la réponse de @Jook ne fonctionnerait pas). L'approche ci-dessous fonctionnerait cependant pour les temps (ou les X avec une adaptation mineure) et n'utilise aucune formule (autre que celle qui sous-tend les icônes) :

En supposant que la nouvelle activité 3 a des valeurs dans une colonne immédiatement à droite de Nom:-

  1. Copier les données et les en-têtes d'une feuille existante dans une nouvelle feuille.
  2. Immédiatement après, ajoutez une copie des données de la nouvelle activité 3 dans cette feuille.
  3. Déplacez les données de la nouvelle activité 3 autres que les noms sur deux colonnes vers la droite.
  4. Faites glisser l'étiquette de l'activité 2 vers la droite d'une cellule.
  5. Sélectionnez la feuille entière, Data > Sort & Filter - AZ.
  6. Data > Outline > Subtotal avec A chaque changement de : Nom, Fonction d'utilisation : Max, Ajouter un sous-total à : vérifier chacune des activités 1, 2 et 3, vérifier Remplacer les sous-totaux actuels et Résumé des données ci-dessous, OK.
  7. Copier Coller Spécial > Valeurs, OK.
  8. Data > Sort & Filter - Filter et pour Name column Text Filters, Does Not Contain enter MAX, OK.
  9. Supprimez toutes les lignes visibles, sauf celle qui contient des étiquettes.
  10. Données > Trier et filtrer - Filtrer.
  11. Sélectionnez la colonne Nom, Home > Editing > Find & Select, Replace, entrez " MAX " sans guillemets pour Find what :, Replace All, OK, Close.
  12. Sélectionnez la feuille entière, Data > Outline > Subtotal, Remove All.
  13. Supprimer la ligne avec le nom 'Grand'.
  14. Sélectionnez les colonnes d'activité, Accueil > Cellules - Format, Format des cellules, Personnalisé, dd/mm/yyyy hh:mm; ;"" ou selon vos besoins, OK.
  15. Économisez.

Cela donne des résultats triés dans l'ordre des noms sans tenir compte des heures, qui pourraient ensuite être triés activité par activité, mais pas, étant donné la disposition, être triés par activité sans tenir compte du fait qu'il s'agisse de 1, 2 ou 3.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X