La plage nommée dynamique Excel ignore les formules vides

1

Dans la colonne, Aj'ai une formule qui rassemble deux autres colonnes.

=IF(ISBLANK(B5),"", B5&" "&C5)

Ensuite, dans le gestionnaire de noms, une plage nommée dynamique à utiliser pour une liste déroulante de validation des données.

=OFFSET(Projects!$A$5,0,0,COUNTA(Projects!$A:$A),1)

Cependant, cela compte toujours toutes les cellules avec la formule, même si elles sont vides. J'ai essayé d'utiliser COUNTIFpour compter les cellules vides.

=OFFSET(Projects!$A$5,0,0,COUNTIF(Projects!$A:$A, "<>"),1)

Mais cela inclut toujours chaque cellule avec une formule, même si elle est "vide".

Existe-t-il un moyen de faire en sorte que la plage nommée ignore les formules renvoyant des blancs?

MODIFIER

Vous trouverez ci-dessous un exemple de l'apparence des données du premier bit. (commence à la rangée 5, donc conforme à l'exemple)

               A                      B          C
5 =IF(ISBLANK(B5),"", B5&" "&C5)   Director     123
6 =IF(ISBLANK(B6),"", B6&" "&C6)   Officer      321
7 =IF(ISBLANK(B7),"", B7&" "&C7)

Continuez jusqu'à la rangée 1000. La colonne A est masquée et les utilisateurs ne modifient que les données en B et C. Les valeurs sont souvent ajoutées ou supprimées, de sorte que le nombre d'entrées en B et C change constamment.

Ensuite, pour mon DNR, j'essaie d'utiliser une feuille différente, j'ai configuré une plage nommée appelée JobTitle à l'aide de ce qui suit.

=OFFSET(Projects!$A$5,0,0,COUNTIF(Projects!$A5:$A1000, "<>"),1)

Mon travail actuel consiste à compter les cellules non vides de la colonne B

=OFFSET(Projects!$A$5,0,0,COUNTIF(Projects!$B5:$B1000, "<>"),1)

Ce qui fonctionne actuellement, mais pour référence future, je voudrais savoir comment créer le DNR à partir de la colonne A.

Tim Wilkinson
la source
Comme la formule dans la colonne Adépend des Bdonnées, j'ai modifié le DNR pour qu'il compte si la colonne Bn'est pas vide. =OFFSET(Projects!$A$5,0,0,COUNTIF(Projects!$B5:$B1000, "<>"),1)ce qui est un travail approprié autour. Mais j'aimerais quand même savoir comment compter les formules non satisfaites comme vierges.
Tim Wilkinson
Je ne suis pas ce que vous essayez d'accomplir. Essayez-vous de renvoyer les valeurs des formules s'il y a un résultat, sinon laissez-le vide? Pourquoi utilisez-vous OFFSET?
CharlieRB
Il doit être utilisé dans le gestionnaire de noms pour la liste déroulante de validation des données ailleurs.
Tim Wilkinson
N'essayez pas de penser à tout le processus en même temps. Tout d'abord, vous essayez de ne renvoyer que les résultats des formules de la colonne A, n'est-ce pas? Pourquoi utilisez-vous OFFSET?
CharlieRB
Correct, toute la colonne A contient des formules et je ne veux que les résultats que vous pouvez "voir". J'utilise OFFSETparce que c'est comment créer un DNR, excel-easy.com/examples/dynamic-named-range.html
Tim Wilkinson

Réponses:

2

Je définirais plutôt JobTitle comme:

=Projects!$A$5:INDEX(Projects!$A5:$A$1000,COUNTIF(Projects!$A5:$A$1000,"?*"))

qui, en employant INDEXà la place de OFFSET, réduit la volatilité de la construction.

Notez que la COUNTIFpartie repose sur l'hypothèse que les valeurs de la plage Projects!$A5:$A$1000sont du texte et non des valeurs numériques. Étant donné que chacune des valeurs comprises dans cette plage est dérivée via une concaténation de chaîne, j'imagine que cette hypothèse est juste.

Cordialement

XOR LX
la source
1

Au lieu d'
COUNTA(Projects!$A:$A)
utiliser
COUNTIF(Projects!$A:$A,"<>"&"").

La fonction COUNTA compte le nombre de cellules qui ne sont pas vides dans une plage.

Une cellule contenant une formule, même si elle retourne, ""n'est pas vide.

Máté Juhász
la source