J'ai créé une feuille de calcul Google (jouant le rôle de base de données) comportant de nombreuses colonnes, dont le nom, et je voulais m'assurer que le champ du nom est toujours unique et qu'aucune ligne ne peut être créée si le champ du nom est identique à un autre. rangée.
Je souhaite essentiellement créer une clé primaire pour une base de données. Est-ce que quelqu'un sait comment faire cela dans Google Spreadsheets?
Si cela peut vous aider, j'ai créé un formulaire destiné à la feuille de calcul Google (base de données). Celui-ci introduira les données dans la feuille et aimerait éviter qu'un utilisateur ne saisisse déjà le même nom qu'un autre utilisateur de la liste.
google-sheets
Rubén
la source
la source
Réponses:
Si vous définissez cette option en tant que formule personnalisée pour la règle de validation des données de la colonne A, celle-ci rejettera tous les doublons.
la source
A1
? Devrais-je le changerA2
si mes données commencent à la deuxième ligne?Je n'ai pas de solution si vous insistez pour utiliser un formulaire, mais sinon, j'ai une solution très simple: disons que la colonne unique est A. Ensuite, vous créez la règle de validation de données suivante sur A2 (le premier enregistrement après l'en-tête) :
=COUNTIF($A$1:$A$999,A2)<=1
. Ensuite, vous copiez la cellule et sélectionnez la colonne entière, cliquez avec le bouton droit de la souris, développez le sous-menu spécial de collage et cliquez sur Valider les données du collage uniquement . C'est ça!la source
Vous demandez le contraire de la validation des données dans une liste. En réalité, vous voulez que la validation des données échoue au lieu d’être réussie si la valeur est dans la liste. Ce n'est pas possible avec la validation des données, mais un script peut le faire.
Considérez le script suivant. Ce script surveille toutes les modifications et ouvre une boîte de message lorsqu'une valeur de cellule duplique une autre valeur de cellule dans la même colonne.
Divers perfectionnements pratiques seront nécessaires. Par exemple, vous pouvez choisir de surveiller uniquement certaines colonnes et de prendre des mesures supplémentaires, telles que la suppression de la valeur de la cellule. Vous aurez peut-être besoin d'un traitement spécial pour les valeurs vides (manquantes). Mais cela vous donne la technique de base qui vous permettra de valider.
Mise à jour:
Pour élaborer sur la réponse initiale, j'ai pensé ajouter quelques-unes des validations que j'utilise personnellement et qui ont été mentionnées dans la réponse.
// Voici une fonction que j'utilise pour m'assurer qu'une seule cellule est en cours d'édition.
Pour l'utiliser, ignorez simplement la validation si plusieurs cellules sont modifiées.
Vous pouvez également ignorer la validation si la ligne n'est pas la première ligne:
Remarque: je ne me souviens pas spontanément si le comptage des lignes commence à 0 ou 1, ce code peut donc avoir un bogue.
La clé des validations onEdit est de quitter le plus tôt possible pour éviter les calculs inutiles. La sortie la plus rapide d'une fonction est une instruction return vide.
la source