0

Wie kann ein großer Teil der lesbaren Daten (mit Zeilenumbrüchen) in einer einzelnen Zeile eingefügt werden, ohne dass die Höhe der Zeile an die Daten angepasst wird? Als Beispiel, wenn ich durch Klicken auf die GPA Zelle die vollständige Transkript lesen:Effektive Anzeige eines Datenblocks in einer einzelnen Zelle

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

- Detaillierte decription: Wir verbessern den Prozess nutzen wir für die Auswahl Studenten für AP-Klassen. Wir bieten 20 AP-Klassen und eine Tabellenkalkulation für jede Klasse mit 50-200 Schülern auf jedem Blatt. Die Schüler stammen alle aus einer Gruppe von ~ 500 ankommenden Junioren und Senioren in der Schule. Jeder AP-Lehrer ist dafür verantwortlich, die Liste der Schüler durchzugehen, die Interesse an ihrer Klasse bekundet haben, und die Schüler auszuwählen, die am Kurs teilnehmen. Die Daten für die Schüler sind auf mehrere Tabellen verteilt. Es wäre viel effizienter, wenn die Daten in einer einzigen Tabelle enthalten wären. Es ist ganz einfach, zusammenfassende Funktionen zu erstellen, die das meiste erreichen, aber manchmal ist es beim Betrachten eines bestimmten Schülers schön, wenn es eine Möglichkeit gibt, detaillierte Informationen anzuzeigen, ohne den Kontext in der Tabelle zu verlieren. Zum Beispiel, wenn Sie die GPA eines Studenten betrachten und Sie sehen möchten, wie sie in ihren Mathe-Klassen getan haben. Die zwei Techniken, die ich mir vorgestellt habe, um das zu tun: 1. Erstellen Sie ein Skript, das die GPA-Zelle mit Notiz füllt (mit setNote), die das vollständige Transkript des Schülers enthält. 2. Erstellen Sie eine Verknüpfung in der Zelle neben der GPA-Zelle, die irgendwie eine Ansicht des Schülertranskripts bietet, ohne dass der Leser seinen Platz im Originalblatt verliert, möglicherweise durch Ändern des Fokus in einem Blatt auf einem anderen Browserregister Schüler.

+2

Es kann nicht getan werden. Die angezeigte Zeilenhöhe darf nicht kleiner als die Höhe des Inhalts sein. Sie können die Zeilenhöhe manuell oder im Code einstellen, und es wird nichts tun. Wenn der Inhalt gelöscht wird, wird die Zeile auf den Standardwert zurückgesetzt. Solange der Inhalt jedoch höher als die Zeilenhöhe ist, wird die Zeile immer so angepasst, dass die gesamte Höhe angezeigt wird. Die Breite ist anders. Sie können die Breite "abschneiden", nicht aber die Höhe. Es ist irgendwie dumm, dass es so eingerichtet ist, aber so ist es. –

+0

Ich habe gewählt, um Ihre Frage zu schließen, als "zu breit." Eine "gute" Frage enthält Code und zeigt, was Sie versucht haben. Aber fühle dich nicht schlecht, ich habe die Regeln gebrochen, indem ich die Frage im Kommentarbereich beantwortet habe, was ich nicht tun soll. Ich mache das teilweise, weil Kommentare nicht abgelehnt werden können. Willkommen bei Stack Overflow. –

+0

Danke für die Hilfe! Sie sagen, dass die Excel-Idee, einen Hyperlink zu erstellen, der mit einer bestimmten Zelle in einer anderen Tabelle verknüpft, unmöglich ist? https://productforums.google.com/forum/#!topic/docs/8WecJzLDc9U –

Antwort

0

Ich konnte ein HTML-Popup mit STU-Daten innerhalb erstellen. Und rufen Sie die Funktion über eine Zeichenschaltfläche oder einen Menüeintrag auf.

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

Kann ein Skript jeder Zelle in einer Spalte eine Schaltfläche hinzufügen?Es sieht so aus als ob das unmöglich ist: http://stackoverflow.com/questions/28668766/adding-buttons-to-google-sheets-and-set-value-to-cells-on-clicking Die Alternative würde Lehre erfordern jeder der Lehrer den Anruf aus dem Menü verwenden, die prohibitiv sein kann. Ist es ein guter Ansatz, eine Menüfunktion hinzuzufügen, die ich ausführen könnte, bevor die Lehrer die Tabelle verwenden, die der Zelle in der GPA-Spalte eine Notiz hinzufügen würde? Dies würde es Lehrern ermöglichen, einfach auf den GPA für einen Schüler zu klicken und ein Notiz-Popup mit dem vollständigen Transkript zu sehen. –

+0

In dem obigen Beispiel wählen Sie den Schüler aus und drücken Sie die Studentendaten-Schaltfläche - dann erscheint das Popup für den ausgewählten Schüler - – OblongMedulla

+1

Ich denke, ich sehe. Ich habe eine einzelne Taste irgendwo in einer gefrorenen Kopfzeile, die wie "View Transcript" bezeichnet und mit Ihrem Code verknüpft ist. Die Benutzererfahrung soll in einer Zelle in der Reihe des Studenten sein, den sie in Betracht ziehen und auf den Knopf klicken und die Abschrift dieses Kursteilnehmers erhalten. Sehr cool! Ich hatte definitiv nicht verstanden, solche Knöpfe richtig zu benutzen, danke! –

Verwandte Themen