Extraire les données de certaines colonnes et uniquement des lignes avec une certaine valeur dans l'une des colonnes

0

J'ai un classeur qui a une feuille de calcul avec 14 colonnes de données (A - N). Je souhaite extraire certaines de ces données et les stocker dans un autre classeur.

Je veux extraire uniquement les colonnes A, B, F, H, I, K et L; et uniquement à partir de lignes où la colonne H contient HCC .

Comment puis je faire ça?

Excité
la source
google et apprendre à utiliser un tableau
croisé dynamique
Merci ... c'est ce que je vois que d'autres recommandent. Quelqu'un m'a envoyé quelque chose, mais j'ai besoin d'en apprendre plus.
Randy

Réponses:

1

En savoir plus sur les tableaux croisés dynamiques est une excellente idée, mais vous pouvez également le faire avec une formule matricielle.

Placez cette formule dans la première cellule de la colonne A du deuxième classeur où vous souhaitez que les données apparaissent:

=IFERROR(INDEX([Workbook1]Sheet1!A:A,SMALL(IF([Workbook1]Sheet1!$H:$H="HCC",ROW([Workbook1]Sheet1!$H:$H)),ROW())),"")

Remarques:

  1. Remplacez " [Workbook1]Sheet1!A:A" `par les noms de classeur et de feuille actuels. Pour ce faire, la méthode la plus simple consiste à accéder à l’autre classeur après avoir entré la première partie de la formule, puis à cliquer sur le «A» situé en haut de la colonne A.
  2. Idem pour les deux instances de " [Workbook1]Sheet1!$H:$H". Vous devrez ajouter les $.
  3. Remplacez le dernier " ROW()" par " ROW() - n", où n correspond à 1 moins que le numéro de ligne dans lequel vous insérez la formule. Si vous êtes dans la ligne 1, vous n'avez pas à la modifier.
  4. Enfin, il s’agit d’une formule matricielle, vous devez donc la saisir en utilisant CTRLShiftEnterplutôt que simplement Enter . Si elle est entrée correctement, la formule sera entourée d'accolades {} dans la barre de formule.

Maintenant, remplissez la formule aussi loin ou plus loin que vous vous attendez à ce que des données soient disponibles à l'avenir. Enfin, copiez la plage sélectionnée et collez-la dans la première cellule de toutes les autres colonnes dans lesquelles vous souhaitez extraire des données du classeur 1. La formule remplira les espaces lorsqu'elle ne contient plus de valeurs calculées.

La semaine prochaine, si vous avez plus (ou moins) de lignes de données dans le premier classeur, les données seront toujours copiées correctement dans le deuxième classeur.

Comment cela fonctionne: Le IF()vérificateur interne vérifie où la colonne H est égale à "HCC" et renvoie un tableau des numéros de ligne où la valeur est True et " FALSE" où ce n'est pas le cas. SMALL()prend ce tableau et retourne les nombres dans l'ordre lorsque la formule est remplie. INDEX()utilise ces nombres pour renvoyer les valeurs correspondantes de la colonne A. Enfin, les IFERROR()espaces sont insérés pour les erreurs générées, où INDEX()les nombres de lignes sont épuisés à mesure qu'ils sont remplis.

J'espère que ça aide et bonne chance.

Bandersnatch
la source