web-dev-qa-db-fra.com

Copiez le contenu d'une ligne dans une autre feuille en fonction d'une valeur spécifique

J'ai une feuille Google avec différentes lignes de données, dans une colonne (colonne E), les valeurs de chaque ligne suivent le modèle suivant:

A1   
A2  
B1  
B2   
C1  
C2 
etc.

Je veux copier les lignes contenant toutes les valeurs "A" sur une feuille, les valeurs "B" sur une autre feuille et "C" sur une autre, et ainsi de suite pour toutes les autres valeurs (en laissant les données d'origine dans une feuille "principale").

Est-ce possible dans Google Sheets? Jusqu'à présent, le plus proche que j'ai est:

=filter("Sheet1"!A:E,"Sheet1"!E1:E1000="A1")

mais cela ne fonctionne malheureusement pas pour moi

1
2xtimes
  • en supposant que A1, A2, B1, etc. sont des valeurs et non des références de cellule dont vous avez besoin pour corriger votre syntaxe:

    =FILTER(Sheet1!A:E, Sheet1!E1:E=REGEXEXTRACT(Sheet1!E1:E, "A.*"))
  • si le nom de la feuille a des espaces, ce serait:

    =FILTER('Sheet 1'!A:E, 'Sheet 1'!E1:E=REGEXEXTRACT('Sheet 1'!E1:E, "A.*"))
  • vous pouvez également utiliser QUERY:

    =QUERY(Sheet1!A:E, "where E contains 'A'", 0)
0
user0

Vous y êtes presque déjà. Tout d'abord, vous devriez probablement faire correspondre la taille de votre plage d'entrée de filtre et celle de votre condition:

FILTRE ("Feuille1"! A1: E1000 , "Feuille1"! E1: E1000 = "A1")

Ensuite, nous devons en quelque sorte extraire la partie lettre du code dans la colonne E. Si c'est toujours aussi simple, j'utiliserais LEFT pour saisir le plus à gauche personnage:

FILTER("Sheet1"!A1:E1000,LEFT("Sheet1"!E1:E1000,1)="A")

Si vous pouvez finir par avoir des codes à plusieurs lettres comme AC1, AC2… vous pouvez extraire les lettres principales à la place avec, par exemple, REGEXEXTRACT :

FILTER("Sheet1"!A1:E1000,REGEXEXTRACT("Sheet1"!E1:E1000,"^[A-Z]+")="AC")
0
Joel Reid