J'ai deux plages nommées, entrée utilisateur Profiles
(plage verticale d'une colonne) et prédéterminée ProfileNames
(gamme horizontale d'une rangée). J'ai une étape de validation des données dans mon outil et j'aimerais vérifier si des valeurs sont entrées dans Profiles
sont ne pas trouvé dans ProfileNames
. J'essaie de trouver un moyen de faire cela avec une seule formule, mais je semblais être perplexe.
Actuellement, ceci est réalisé comme ceci: chaque cellule de ProfileNames
est son propre nom ( Profile1
, Profile2
, etc.). Alors cette formule est utilisée:
COUNTIFS(Profiles,"<>"&Profile1,
Profiles,"<>"&Profile2,
...)
avec n'importe quoi supérieur à 0 déclenchant un popup. J'aimerais passer à autre chose, car il y aura éventuellement plus de 200 profils à vérifier et cette formule est compliquée. J'ai besoin d'une formule pour remplacer celle ci-dessus qui détectera toutes les cellules de Profiles
qui ne correspondent pas à au moins une cellule ProfileNames
.
Échantillon de données:
Cooling | Heating | Cooking
1 .5 .75
La première rangée ci-dessus (Cooling: Cooking) est ProfileNames
"Refroidissement" est Profile1
, Le chauffage est Profile2
, etc.
Cette colonne est Profiles
:
Cooling
Cooling
Cooking
Heating
Heating
Je cherche à éviter d'utiliser Profile1
etc car il y en aura plus de 200 et la formule utilisée actuellement peut s’étendre pour dépasser les limites de caractères maximales.
la source
Réponses:
Vous pouvez utiliser une formule matricielle pour vérifier. Type
dans une cellule, mais au lieu d'utiliser enter, appuyez sur control-shift-enter. Le résultat est le nombre d'entrées dans
Profiles
qui correspondent à une entrée dansProfileNames
. Par conséquent, vous savez que s’il existe par exemple 5 entrées dansProfiles
et la somme est 5, tous sont inclus dansProfileNames
. Si la somme est inférieure à 5, l’une des entrées deProfiles
n'est pas correct.Explication:
Profiles = ProfileNames
crée une matrice deTRUE
le sableFALSE
s correspondant à la vérification de chaque ligneProfiles
contre chaque colonne deProfileNames
. le* 1
transforme cette matrice en une matrice de nombres, etSUM
les résume.la source