Exceller

Obtenir la première valeur non vide dans une liste

Get First Non Blank Value List

Formule Excel: obtenir la première valeur non vide dans une listeFormule générique
{= INDEX (range, MATCH (FALSE, ISBLANK (range),0))}
Résumé

Pour obtenir la première valeur non vide (texte ou nombre) d'une dans une plage d'une colonne, vous pouvez utiliser une formule matricielle basée sur les fonctions INDEX, MATCH et ISBLANK. Dans l'exemple illustré, la formule en D10 est:

comment puis-je sous-total dans Excel
 
{= INDEX (B3:B11, MATCH (FALSE, ISBLANK (B3:B11),0))}

Remarque: il s'agit d'un formule matricielle et doit être entré avec Ctrl-Maj-Entrée.



Explication

Donc, l'essentiel du problème est le suivant: nous voulons obtenir la première cellule non vide, mais nous n'avons pas de moyen direct de le faire dans Excel. Nous pourrions utiliser RECHERCHEV avec un caractère générique * (voir le lien ci-dessous), mais cela ne fonctionnera que pour le texte, pas les nombres.



Nous devons donc créer les fonctionnalités dont nous avons besoin en imbriquant des formules. Pour ce faire, utilisez une fonction de tableau qui `` teste '' les cellules et renvoie un tableau de valeurs TRUE / FALSE que nous pouvons alimenter dans le Fonction MATCH .

Travaillant de l'intérieur vers l'extérieur, le Fonction ISBLANK évalue les cellules de la plage B3: B11 et renvoie un déployer qui ressemble à ceci:



 
{TRUEFALSETRUEFALSEFALSETRUETRUETRUETRUE}

Chaque FALSE représente une cellule de la plage qui n'est pas vide.

Ensuite, MATCH recherche FALSE dans le tableau et renvoie la position de la première correspondance trouvée, dans ce cas 2. À ce stade, la formule de l'exemple ressemble maintenant à ceci:

 
{= INDEX (B3:B11,2,0))}

Finalement, le Fonction INDEX prend le relais et obtient la valeur à la position 2 dans le tableau, qui est 10.



comment trouver l'équation de la ligne dans Excel

Première valeur de longueur non nulle

Pour obtenir la première valeur de longueur non nulle, vous pouvez inclure le Fonction LEN comme ça:

 
{= INDEX (range, MATCH (TRUE, LEN (range)>0,0))}

Première valeur numérique

Pour obtenir la première valeur numérique d'une liste, vous pouvez adapter la formule pour utiliser le Fonction ISNUMBER , puis modifiez la logique pour qu'elle corresponde à TRUE au lieu de FALSE:

 
{= INDEX (range, MATCH (TRUE, ISNUMBER (range),0))}

C'est aussi un formule matricielle , et doit être entré avec Ctrl + Maj + Entrée.

Auteur Dave Bruns


^