Ich habe eine Google-Tabelle (die als Datenbank fungiert) mit zahlreichen Spalten erstellt, von denen der Name eine ist. Ich wollte sicherstellen, dass das Namensfeld immer eindeutig ist und keine Zeile erstellt werden kann, wenn das Namensfeld mit einem anderen identisch ist Reihe.
Im Wesentlichen möchte ich einen Primärschlüssel für eine Datenbank erstellen. Weiß jemand, wie man das in Google Spreadsheets macht?
Wenn es hilft, habe ich ein Formular für die Google-Tabelle (Datenbank) erstellt, in das die Daten in die Tabelle eingegeben werden, und ich würde gerne sicherstellen, dass ein Benutzer nicht denselben Namen wie jemand in der Liste eingibt.
google-sheets
Rubén
quelle
quelle
Antworten:
Wenn Sie dies als benutzerdefinierte Formel für die Datenüberprüfungsregel für Spalte A eingeben, weist Spalte A alle Duplikate zurück.
quelle
A1
stehen? Sollte ich es ändern,A2
wenn meine Daten in der zweiten Zeile beginnen?Ich habe keine Lösung, wenn Sie auf der Verwendung eines Formulars bestehen, aber ansonsten habe ich eine sehr einfache Lösung: Angenommen, die eindeutige Spalte ist A. Dann erstellen Sie die folgende Datenüberprüfungsregel für A2 (den ersten Datensatz nach der Überschrift). :
=COUNTIF($A$1:$A$999,A2)<=1
. Anschließend kopieren Sie die Zelle und wählen die gesamte Spalte aus. Klicken Sie mit der rechten Maustaste, erweitern Sie das Untermenü zum Einfügen spezieller Daten und klicken Sie auf Nur Datenüberprüfung einfügen . Das ist es!quelle
Sie fordern das Gegenteil von Datenvalidierung aus einer Liste. Tatsächlich soll die Datenüberprüfung fehlschlagen, anstatt erfolgreich zu sein, wenn der Wert in der Liste enthalten ist. Dies ist bei der Datenvalidierung nicht möglich, aber ein Skript kann dies tun.
Betrachten Sie das folgende Skript. Dieses Skript überwacht alle Änderungen und zeigt ein Meldungsfeld an, wenn ein Zellenwert einen anderen Zellenwert in derselben Spalte dupliziert.
Es werden verschiedene praktische Verfeinerungen benötigt. Beispielsweise können Sie festlegen, dass nur bestimmte Spalten überwacht werden sollen, und Sie können festlegen, dass zusätzliche Aktionen ausgeführt werden sollen, z. B. das Ausblenden des Zellenwerts. Möglicherweise benötigen Sie eine spezielle Behandlung für leere (fehlende) Werte. Dies gibt Ihnen jedoch die grundlegende Technik, mit der Sie validieren können.
Aktualisieren:
Um die ursprüngliche Antwort zu erläutern, dachte ich, ich würde einige der von mir persönlich verwendeten Validierungen hinzufügen, die in der Antwort erwähnt wurden.
// Hier ist eine Funktion, mit der ich sicherstellen kann, dass nur eine Zelle bearbeitet wird.
Um es zu verwenden, überspringen Sie einfach die Validierung, wenn mehr als eine Zelle bearbeitet wird
Sie können die Validierung auch überspringen, wenn die Zeile nicht die erste Zeile ist:
Hinweis: Ich kann mich nicht genau erinnern, ob die Zeilenzählung bei 0 oder 1 beginnt, sodass dieser Code möglicherweise einen Fehler aufweist
Der Schlüssel zu onEdit-Überprüfungen besteht darin, so früh wie möglich zu beenden, um unnötige Berechnungen zu vermeiden. Der schnellste Abbruch einer Funktion ist eine leere return-Anweisung.
quelle