0

Quelle est la meilleure façon d'inclure une grande partie de données lisibles (avec des sauts de ligne) dans une seule ligne sans que la hauteur de cette ligne ne corresponde aux données. À titre d'exemple, si je veux voir la transcription complète en cliquant sur la cellule GPA:Afficher efficacement un bloc de données dans une seule cellule

row: Name GPA # AP's Grade Makayla 4.0 3 10th

Transcript 2014-2015 -- Algebra 1: A, English 9: A, PE: F, History: A, Spanish 1: C, Physis: C 2015-2016 -- Geometry: A, English 10: A, Music: B, History: A, Spanish 2: C, Chemistry: C 2016-2017 -- Algebra 1: A, English: A, Music: A, History: A, Spanish 3: C, Biology: C

- decription détaillée: Nous améliorons le processus que nous utilisons pour la sélection des étudiants pour les classes AP. Nous offrons 20 classes AP et avons une feuille de calcul pour chaque classe avec 50-200 étudiants classés préférences dans chaque feuille. Les étudiants sont tous tirés d'un ensemble de ~ 500 juniors entrants et seniors à l'école. Chaque enseignant AP est responsable de parcourir la liste des étudiants qui ont manifesté de l'intérêt pour leur classe et de sélectionner les étudiants qui finiront dans le cours. Les données pour les étudiants sont réparties sur plusieurs feuilles de calcul. Ce serait beaucoup plus efficace si les données étaient incluses dans une seule feuille de calcul. Il est facile de construire des fonctions de résumé qui accomplissent la plupart de ceci mais parfois, quand on regarde un étudiant particulier, ce serait bien s'il y avait un moyen d'afficher les informations détaillées sans perdre votre contexte dans la feuille de calcul. Par exemple, si vous regardez le GPA d'un étudiant et que vous voulez voir comment ils ont fait dans leurs classes de mathématiques. Les deux techniques que j'ai imaginé pour cela: 1. Créez un script qui remplit la cellule gpa avec note (en utilisant setNote) qui contient la transcription complète de l'étudiant. 2. Créez un lien dans la cellule à côté de la cellule gpa qui fournit en quelque sorte une vue de la transcription de l'étudiant sans que le lecteur ne perde sa place dans la feuille originale, éventuellement en changeant le focus d'une feuille sur un autre étudiant.

+2

Il ne peut pas être fait. La hauteur de ligne affichée ne peut pas être inférieure à la hauteur du contenu. Vous pouvez définir la hauteur de ligne manuellement ou en code, et cela ne fera rien. Si le contenu est supprimé, la ligne reviendra à la valeur par défaut, mais tant que le contenu est supérieur à la hauteur de la ligne, la ligne s'ajustera toujours pour afficher toute la hauteur. La largeur est différente. Vous pouvez "découper" la largeur, mais pas la hauteur. C'est un peu bête, c'est comme ça, mais c'est comme ça. –

+0

J'ai voté pour clore votre question, comme étant "trop ​​large". Une "bonne" question comprend du code, et montre ce que vous avez essayé. Mais ne vous sentez pas mal, j'ai enfreint les règles en répondant à la question dans la section des commentaires, ce que je ne suis pas censé faire. Je fais cela en partie parce que les commentaires ne peuvent pas être votés. Bienvenue dans Stack Overflow. –

+0

Merci pour l'aide! Vous dites que la notion d'Excel de créer un lien hypertexte qui lie à une cellule donnée dans une autre feuille de calcul est impossible? https://productforums.google.com/forum/#!topic/docs/8WecJzLDc9U –

Répondre

0

J'ai été capable de créer un popup html avec des données stu à l'intérieur. Et appelez la fonction à partir d'un bouton de dessin ou d'un élément de menu.

function stuData() { 
 
    var ss = SpreadsheetApp.getActiveSpreadsheet(); 
 
    var sheet = ss.getSheets()[0]; 
 
    var activeCell = ss.getActiveRange().getRow(); 
 
    Logger.log(activeCell); 
 
    var stuName = sheet.getRange(activeCell, 1).getValue(); 
 
    var GPA = sheet.getRange(activeCell, 2).getValue(); 
 
    var AP = sheet.getRange(activeCell, 3).getValue(); 
 
    var grade = sheet.getRange(activeCell, 4).getValue(); 
 
    var t16 = sheet.getRange(activeCell, 5).getValue(); 
 
    var t17 = sheet.getRange(activeCell, 6).getValue(); 
 
    var t18 = sheet.getRange(activeCell, 7).getValue(); 
 

 
    var htmlApp = HtmlService 
 
    .createHtmlOutput('Student Name: ' + stuName + '<br> GPA:' + GPA + '<br> AP:' + AP + '<br> Grade:' + grade + '<br><br> Transcript - :' + t16 + '<br> Transcript - :' + t17 + '<br> Transcript - :' + t18) 
 
    .setTitle(stuName) 
 
    .setWidth(750) 
 
    .setHeight(220); 
 

 
SpreadsheetApp.getActiveSpreadsheet().show(htmlApp); 
 

 
}

screenshot

+1

Un script peut-il ajouter un bouton à chaque cellule d'une colonne?Il semble que ce soit impossible: http://stackoverflow.com/questions/28668766/adding-buttons-to-google-sheets-and-set-value-to-cells-on-clicking L'alternative exigerait l'enseignement chacun des enseignants à utiliser l'appel du menu qui peut être prohibitif. Est-ce une bonne approche d'ajouter une fonction de menu que je pourrais exécuter avant que les enseignants utilisent la feuille de calcul qui ajouterait une note à chaque cellule dans la colonne GPA? Cela permettrait aux enseignants de simplement cliquer sur le GPA pour un étudiant et de voir une note contextuelle avec la transcription complète. –

+0

dans l'exemple ci-dessus, vous sélectionnez l'étudiant et appuyez sur le bouton de données de l'étudiant- puis la fenêtre apparaît pour l'étudiant sélectionné- – OblongMedulla

+1

Je pense que je vois. J'ai un seul bouton situé quelque part comme dans une ligne d'en-tête gelée qui est étiqueté quelque chose comme "Voir la transcription" et lié à votre code. L'expérience de l'utilisateur est d'être dans une cellule dans la rangée de l'étudiant qu'ils envisagent et de cliquer sur le bouton et obtenir la transcription de cet étudiant. Très cool! Je n'avais certainement pas compris comment utiliser correctement les boutons comme ça, merci! –