Google Sheets ist ein hilfreiches Werkzeug für die Arbeit mit Daten, aber die Suche nach Informationen in einem großen Datensatz kann schwierig sein. In diesem Artikel zeigen wir Ihnen, wie Sie eine einfache Suchmaske in Google Sheets erstellen, mit dem Sie die benötigten Daten schnell finden.
Eine Suchmaske in Google Sheets erstellen
Schritt 1: Datasheet einrichten
In dieser Übungsaufgabe erstellen wir eine einfache Liste von Produkten, die als Datenblatt dienen.
Öffnen Sie Google Sheets und starten Sie ein leeres Arbeitsblatt. Geben Sie das Wort „Produkte“ in Zelle A1 ein, welches als Überschrift unserer Liste dient. Dann geben Sie eine Reihe von Produkten in Zelle A2 nach unten ein. Und schließlich werden wir einfach den Namen des Blattes auf “Sheet1” ändern.
Schritt 2: Zugriff auf Apps-Skript
Wählen Sie im oberen Menü Erweiterungen > Apps Script aus.
Dies wird eine neue Registerkarte öffnen. Warten Sie, bis der Bildschirm Apps Script geladen hat.
Schritt 3: Skript einfügen
Kopieren Sie das Skript und fügen Sie es in den Codebereich ein. In dieser Übungsaufgabe kopieren wir den eingefügten Code unter Dateien > Code.gs skript.
function showListInForm() { var sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('Sheet1'); var dataRange = sheet.getRange("A2:A" + sheet.getLastRow()); var data = dataRange.getValues(); var content = data.map(function(row) { return row[0]; }); var html = "<style>" + ' #searchBox {' + ' border-radius: 25px;' + ' border: 2px solid #cccccc;' + ' width: 98%;' + ' font: 16px Calibri, Arial, sans-serif;' + ' padding: 10px;' + ' }' + '</style>' //Search box html += '<div style="position: sticky; top: 0; background-color: #fff; padding: 2px;">' + '<input type="text" id="searchBox" placeholder="🔍 Search Product">' + '</div> <br>'; html += '<style>' + 'table tr:hover { background-color: #f5f5f5; cursor: pointer; }' + '</style>'; html += '<table id="contentTable" style = "width: 100%;">'; //Loop to show each product from sheet to our form content.forEach(function(row, index) { html += '<tr>'; html += '<td class="clickable-row" data-content="' + row + '" style= "font: 16px Calibri, Arial, sans-serif;">'; html += row; html += '</td>'; html += '</tr>'; }); html += '</table>'; //Code responsible for filtering the list upon typing/searching. Also adds the function to insert the selected item in the active cell. var js = '<script>' + 'document.getElementById("searchBox").addEventListener("input", filterTable);' + 'var rows = document.querySelectorAll(".clickable-row");' + 'rows.forEach(function(row) {' + ' row.addEventListener("click", function() {' + ' var content = row.getAttribute("data-content");' + ' google.script.run.insertSelection(content);' + ' google.script.host.close()' + ' });' + '});' + 'function filterTable() {' + ' var input, filter, table, tr, td, i, txtValue;' + ' input = document.getElementById("searchBox");' + ' filter = input.value.trim().toLowerCase();' + ' table = document.getElementById("contentTable");' + ' tr = table.getElementsByTagName("tr");' + ' for (i = 0; i < tr.length; i++) {' + ' td = tr[i].getElementsByTagName("td")[0];' + ' if (td) {' + ' txtValue = td.textContent || td.innerText;' + ' if (txtValue.toLowerCase().includes(filter)) {' + ' tr[i].style.display = "";' + ' } else {' + ' tr[i].style.display = "none";' + ' }' + ' }' + ' }' + '}' + '</script>'; html += js; var htmlOutput = HtmlService.createHtmlOutput(html) .setWidth(1024) .setHeight(768); SpreadsheetApp.getUi().showModalDialog(htmlOutput, 'Search'); } //Inserts the selected item in the active cell function insertSelection(content) { var sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet(); var insertInCell = sheet.getActiveRange(); insertInCell.setValue(content); }
Dann vergessen Sie nicht, das Skript zu speichern, indem Sie auf das Speichern-Symbol 💾 oben klicken oder Strg + S auf Ihrer Tastatur drücken.
Schritt 4: Erstellen Sie einen Knopf
Wechseln Sie zurück zum Tab-Arbeitsblatt. Wählen Sie im oberen Menü Einfügen > Zeichnen aus.
Wählen Sie dann von hier aus das Symbol Form > Formen > Rechteck-Symbol.
Klicken und ziehen Sie das Element unten in den Zeichnungsbereich, um eine rechteckige Form zu bilden. Dann geben Sie ein Namen ein. Wir benennen es „Suche Produkt“. Dann klicken Sie schließlich auf die Schaltfläche „Speichern und Schließen“ oben rechts.
Wählen Sie im Blatt auf den Knopf > klicken Sie auf die 3 vertikalen Punkte auf der rechten Seite > Skript zuweisen.
Geben Sie “showListInForm” ein und klicken Sie auf OK.
Schritt 5: Testen Sie Ihre Suchmaske
Versuchen Sie im Blatt, auf die Schaltfläche „Produkt suchen“ zu klicken und die Suchmaske sollte erscheinen.
Geben Sie einen Suchbegriff in das Suchfeld ein und in der Liste werden nur die relevanten Produkte angezeigt.
Wenn Sie dann ein Produkt aus der Liste auswählen, wird es in die aktive Zelle im Blatt eingefügt.
Zusammenfassung
Die Erstellung einer Suchmaske in Google Sheets kann die Datenerfassung und -organisation erheblich verbessern. Ob Sie Inventar verwalten, Umfragen durchführen oder mit einem Datenprojekt arbeiten, eine Suchmaske kann Zeit und Mühe sparen. Wenn Sie die in diesem Artikel beschriebenen Schritte befolgen, können Sie den Daten-Suchprozess vereinfachen und Ihr Google Sheets-Erlebnis effizienter und benutzerfreundlicher gestalten.
Benötigen Sie einen VBA Programmierer?
Wir als exact construct programmieren mit einem Team von rd. 20 Mitarbeitern seit über 10 Jahren Excel-Tools. Wir sind ein Nischenanbieter der spezialisiert auf Makros/VBA-Codes ist. Daneben unterstützen wir auch als 3rd Level Support die IT-Abteilungen rund um Probleme bei MS Office (Excel, Word, PowerPoint, etc.).
Haben Sie ein Excel-Problem? Benötigen Sie einen Makro-Programmierer? Rufen Sie uns unverbindlich an +41 52 511 05 25 oder kontaktieren Sie uns via Kontaktformular.