2010-03-25 9 views
13

J'ai une feuille de calcul Google contenant trois colonnes vides ou ayant une valeur. Je veux obtenir le compte du nombre de lignes qui a A et soit B ou C peuplé. Si je devais écrire une requête SQL seraitFiltre de plusieurs colonnes de la feuille de calcul Google à l'aide de OU

select count(*) 
from Table 
where A is not null and (B is not null or C is not null) 

Mais je ne peux pas pour la vie de me comprendre comment obtenir ce dans une feuille de calcul Google

Répondre

32

La formule ci-dessous doit faire ce que vous recherchez :

=ROWS(FILTER(A2:A, NOT(ISBLANK(A2:A)), NOT(ISBLANK(B2:B))+NOT(ISBLANK(C2:C)))) 

Et d'expliquer:

  • ROWS compte les lignes de l'argument (filtré, dans notre c ase)
  • FILTER renvoie les lignes de arg1 (A2:A) que tous les arguments suivants correspondent
  • Le symbole + (ajout) combine deux prédicats avec un OR

logique Enfin, si vous n'êtes pas en utilisant des colonnes d'en-tête vous pouvez modifier les références de A2:A à A:A

vous pouvez également utiliser la fonction QUERY:

(Divisé en plusieurs lignes pour une meilleure lisibilité)

=ROWS(QUERY(A2:C, 
    "SELECT A WHERE A IS NOT NULL AND (B IS NOT NULL OR C IS NOT NULL)")) 

Pour plus d'informations sur la syntaxe des requêtes, voir le Visualization API Query Language Reference et plus précisément la Language Reference

+2

Impressionnant, cette fonction QUERY ... Je n » Je ne sais même pas qu'il existait! Merci! – reidLinden

+1

où est la documentation pour l'utilisation du symbole '+' comme un OU booléen? –