web-dev-qa-db-fra.com

Auto-incrémentation dans Google Sheets basée sur la soumission de Google Form

J'essaie de créer un numéro d'identification unique généré automatiquement pour chaque réunion soumise via un formulaire Google.

La solution ID # unique doit également répondre aux exigences suivantes.

  • Le numéro d'identification doit être statique (non lié au numéro de ligne).
  • Je dois pouvoir définir un point de départ autre que "1" pour les identifiants uniques.

J'ai essayé la solution suivante, mais il a créé des ID # basés sur la ligne # et si une ligne est supprimée, elle duplique un ID # unique.

Puis-je ajouter un champ auto-incrémenté à une feuille de calcul Google basée sur un formulaire Google?

3
Mr. B

Cela peut être fait avec le script suivant: définissez un déclencheur "sur formulaire" pour cette fonction.

Les paramètres personnalisables sont: le numéro de la colonne où insérer un identifiant et l'identifiant initial. La fonction utilise les propriétés du script pour garder une trace de l'identifiant utilisé, afin qu'il ne soit pas répété.

function generateId(e) {
  var columnNumber = 5;
  var initialId = 42;
  var sp = PropertiesService.getScriptProperties();
  var id = sp.getProperty("Event Id") || initialId;
  e.range.offset(0, columnNumber - 1, 1, 1).setValue(id);
  sp.setProperty("Event Id", id + 1);
}
3
user79865