Mes professeurs, saisissez quatre notes pour l’évaluation d’un élève dans une seule cellule, comme ceci: 2113
, sans pause ni espace.
Comment puis-je séparer ces personnages afin de pouvoir créer un tableau des quatre partitions individuelles?
Vous pouvez diviser la valeur de la cellule en cellules individuelles. Étant donné que la cellule A1
contient le numéro 2113
, placez ce qui suit dans la cellule B1
:
=SPLIT(REGEXREPLACE("" & A1, "(\d)", "$1,"), ",")
Cela devrait aboutir à des cellules B1:E1
contenant chaque chiffre respectif.
La formule fait trois choses:
L'expression "" & A1
convertit le nombre saisi 2113
en une chaîne.
La variable REGEXPREPLACE
remplace la chaîne d'entrée 2113
par une liste de chiffres séparés par des virgules: 2,1,1,3,
.
Enfin, la fonction SPLIT
divise la chaîne séparée par des virgules en cellules séparées.
Maintenant que vous avez chaque chiffre dans une cellule distincte, vous devriez pouvoir créer un graphique à partir des données.
Si vous voulez toujours ajouter des espaces entre les chiffres, essayez
=REGEXREPLACE("" & A1, "(\d)", "$1 ")
La formule personnalisée suivante donnera le résultat souhaité:
// empty string split
function emptySplit(cell) {
return cell.toString().split('');
}
// same as above, but then joined afterwards, using a space (' ')
function spaceSplit(cell) {
return cell.toString().split('').join(' ');
}
La cellule active de la feuille de calcul est convertie en chaîne (elle fonctionnera donc pour les chaînes et les nombres) et la méthode de division séparera la chaîne à l'aide d'une chaîne vide ('')
.
Ajoutez le petit morceau de code sous Outils> Editeur de script. Appuyez sur le bouton de sauvegarde et vous pouvez utiliser votre formule personnalisée !!
La fonction SPLIT
de Google Spreadsheets ne permet pas d'utiliser des chaînes vides comme délimiteur.
=emptySplit(A1)
J'ai créé un exemple de fichier pour vous: scindé avec une chaîne vide comme séparateur
Une autre option (plus mathématique que textuelle) pour fractionner un nombre à quatre chiffres de A1 en quatre cellules distinctes est dans B1 et copiée dans:
=left(mod($A1,10^(6-column())))
(Suppose que 0
ne compte pas!)
La meilleure réponse pour REGEXREPLACE ne fonctionne plus dans la version actuelle de Sheets. Voici ce qui a fonctionné pour moi:
=REGEXREPLACE(A2;"(\d)"; "$1 ")