2017-03-22 1 views
0

J'essaie de faire une requête qui tire une date basée sur un nom d'une cellule contenant de nombreux noms séparés par des virgules créés par un formulaire Google.Utilisation de caractères génériques et d'échappement d'apostophes dans Google Sheets Query

Cette aide des caractères génériques va tirer toutes les dates de tout nom qui est en B, sauf donner une erreur lorsque le nom contient une apostrophe:

=QUERY("SOURCE", "select max(D) where (B like '%"&$A$7&"%') Label max(D) ''", 0) 

Sinon, souvent B a un seul nom, donc je peut exécuter la requête suivante et tirer la date dont j'ai besoin si B n'a qu'un seul nom même avec une apostrophe.

=QUERY("SOURCE", "select max(D) where (B like """&$A$7&""") Label max(D) ''", 0) 

Ce que je ne peux pas comprendre comment utiliser les caractères génériques et échapper à l'apostrophe en même temps.

+0

Veuillez ajouter l'échantillon de données et l'échantillon de résultat souhaité. –

+0

[Voici un lien de travail vers un exemple de feuille de calcul] (https://docs.google.com/spreadsheets/d/1K7_E15ktJKo1Q02xx3yG67mVBqecNitxiVGz8MZybiM/edit?usp=sharing) – jamiraquizzical

Répondre

0

Peut-être que le filtre() est plus facile à utiliser dans cette situation? En supposant que les noms sont séparés par une virgule (et un espace), essayez

=if(len(G4)*len(F6), max(filter(B3:B, regexmatch(A3:A, G6), regexmatch(C3:C, F6))),) 

Modifiez les plages en conséquence. Si cela ne vous aide pas, veuillez partager un exemple de feuille de calcul.

+0

[J'ai ajouté un exemple de feuille de calcul ici] (https: // docs .google.com/spreadsheets/d/1K7_E15ktJKo1Q02xx3yG67mVBqecNitxiVGz8MZybiM/edit? usp = partage). La requête est un peu plus compliquée que je l'ai dit ci-dessus parce qu'il y a une autre déclaration similaire où elle essaie de trouver une catégorie de formation. Je suis nouveau à ceci et peu familier avec toutes ces fonctions ainsi je ferai un peu de lecture. – jamiraquizzical

+0

J'ai mis à jour la formule. Voir si cela fonctionne? – JPV

+0

Je l'ai eu à travailler dans la colonne L. J'ai dû basculer la première expression regexmatch à la cellule de nom de données validée. Pouvez-vous expliquer pourquoi vous avez la fonction If? Est-ce pour laisser un blanc si les colonnes ne sont pas complètes? Cela semble fonctionner correctement sans cela. – jamiraquizzical