Wie sucht man den ersten Nicht-Null-Wert und gibt die entsprechende Spaltenüberschrift in Excel zurück?
Beim Arbeiten mit Daten in Excel ist es üblich, die Position des ersten Nicht-Null-Eintrags innerhalb einer Zeile zu identifizieren und die zugehörige Spaltenüberschrift anzuzeigen. Zum Beispiel möchten Sie in einem Datensatz, in dem jede Zeile ein anderes Element oder eine andere Person darstellt und die Spalten Zeiträume oder Kategorien repräsentieren, möglicherweise wissen, wann ein Wert zum ersten Mal für jede Zeile erscheint. Das manuelle Überprüfen jeder Zeile auf den ersten Nicht-Null-Wert kann zeitaufwendig sein, insbesondere wenn die Datenmenge wächst. Die Automatisierung dieses Suchvorgangs verbessert nicht nur die Effizienz, sondern reduziert auch Fehler und macht Ihre Analysen zuverlässiger. Dieser Artikel erklärt mehrere praktische Möglichkeiten, dieses Ziel zu erreichen, von der Verwendung vielseitiger Excel-Formeln bis hin zur Nutzung von VBA-Makros, die besonders nützlich für große Datensätze oder wiederkehrende Berichte sind.
- Suche nach dem ersten Nicht-Null-Wert und gib die entsprechende Spaltenüberschrift mit einer Formel zurück
- Verwenden Sie ein VBA-Makro, um die Spaltenüberschrift des ersten Nicht-Null-Werts in jeder Zeile zu finden und zurückzugeben
Suche nach dem ersten Nicht-Null-Wert und gib die entsprechende Spaltenüberschrift mit einer Formel zurück
Um effizient die Spaltenüberschrift in einer bestimmten Zeile zu identifizieren, in der der erste Nicht-Null-Wert erscheint, können Sie eine integrierte Excel-Formel verwenden. Dieser Ansatz eignet sich besonders gut für kleine bis mittlere Datensätze, bei denen Echtzeitneuberechnungen und einfache Einrichtung wichtig sind.
1. Wählen Sie eine leere Zelle aus, um das Ergebnis anzuzeigen; in diesem Beispiel wird Zelle K2 verwendet.
=INDEX($B$1:$I$1,MATCH(TRUE,INDEX(B2:I2<>0,),0))
2. Drücken Sie nach der Eingabe der Formel die Eingabetaste, um zu bestätigen. Dann wählen Sie K2 aus und ziehen Sie mit dem Ausfüllkästchen die Formel nach unten, um sie auf die restlichen Zeilen anzuwenden.
Hinweis: In der obigen Formel bezieht sich B1:I1 auf den Bereich der Spaltenüberschriften, die Sie zurückgeben möchten, und B2:I2 ist die Zeilendaten, die Sie auf den ersten Nicht-Null-Wert analysieren.
Wenn Ihre Daten in unterschiedlichen Spalten oder Zeilen beginnen, passen Sie die Formelbereiche entsprechend an. Außerdem funktioniert diese Formel effektiv, solange es mindestens einen Nicht-Null-Wert in jeder analysierten Zeile gibt. Wenn alle Werte Null sind, gibt die Formel einen Fehler zurück. In solchen Fällen können Sie die Formel mit IFERROR
umschließen, wie folgt: =IFERROR(INDEX($B$1:$I$1,MATCH(TRUE,INDEX(B2:I2<>0,),0)),"Kein Nicht-Null")
um eine benutzerdefinierte Nachricht anstelle eines Fehlers zurückzugeben.
Diese formelbasierte Lösung ist ideal, wenn Sie dynamische, sofort aktualisierende Ergebnisse wünschen, sobald sich Ihre Eingabedaten ändern. Bei extrem großen Datensätzen kann jedoch die Berechnungsgeschwindigkeit beeinträchtigt werden, und Sie könnten eine VBA-Lösung in Erwägung ziehen, um die Workflowautomatisierung zu verbessern oder manuelle Operationen zu reduzieren.
Verwenden Sie ein VBA-Makro, um die Spaltenüberschrift des ersten Nicht-Null-Werts in jeder Zeile zu finden und zurückzugeben.
Wenn Sie diese Suchaufgabe häufig über viele Zeilen oder auf großen Datensätzen ausführen müssen, oder wenn Sie den Prozess aus Effizienzgründen automatisieren möchten, ist die Verwendung eines VBA-Makros eine praktische Alternative. Diese Methode ist besonders vorteilhaft für die periodische Berichtserstellung oder wenn Sie Datentabellen bearbeiten, die sich häufig in der Größe ändern. Das Makro durchsucht jede angegebene Zeile nach dem ersten Nicht-Null-Wert und gibt die entsprechende Spaltenüberschrift in eine Zielspalte zurück.
1. Klicken Sie auf Entwicklertools > Visual Basic, um das Microsoft Visual Basic for Applications-Fenster zu öffnen. (Wenn die Registerkarte Entwicklertools nicht sichtbar ist, können Sie sie über Datei > Optionen > Menüband anpassen hinzufügen.) Klicken Sie im VBA-Editor auf Einfügen > Modul.
2. Kopieren und fügen Sie den folgenden VBA-Code in das neue Modul ein:
Sub LookupFirstNonZeroAndReturnHeader()
Dim ws As Worksheet
Dim dataRange As Range
Dim headerRange As Range
Dim outputCell As Range
Dim r As Range
Dim c As Range
Dim firstNonZeroCol As Integer
Dim i As Long
Dim xTitleId As String
On Error Resume Next
xTitleId = "KutoolsforExcel"
Set ws = Application.ActiveSheet
Set dataRange = Application.InputBox("Select the data range (excluding headers):", xTitleId, Selection.Address, Type:=8)
If dataRange Is Nothing Then Exit Sub
Set headerRange = ws.Range(dataRange.Offset(-1, 0).Resize(1, dataRange.Columns.Count).Address)
For i = 1 To dataRange.Rows.Count
Set r = dataRange.Rows(i)
firstNonZeroCol = 0
For Each c In r.Columns
If c.Value <> 0 And c.Value <> "" Then
firstNonZeroCol = c.Column - dataRange.Columns(1).Column + 1
Exit For
End If
Next c
Set outputCell = r.Cells(1, r.Columns.Count + 1)
If firstNonZeroCol > 0 Then
outputCell.Value = headerRange.Cells(1, firstNonZeroCol).Value
Else
outputCell.Value = "No non-zero"
End If
Next i
On Error GoTo 0
MsgBox "Completed! Results are in the column to the right of your data.", vbInformation, "KutoolsforExcel"
End Sub
3. Um das Makro auszuführen, klicken Sie auf die Ausführen Schaltfläche oder drücken Sie die F5-Taste. Ein Dialogfeld fordert Sie auf, den Datenbereich auszuwählen (ohne die Spaltenüberschriften). Nachdem das Makro ausgeführt wurde, wird die Spalte rechts neben dem ausgewählten Datenbereich mit der Überschrift des ersten Nicht-Null-Werts für jede Zeile gefüllt, oder eine "Kein Nicht-Null"-Meldung, falls kein Nicht-Null-Wert gefunden wurde.
Dieser VBA-Ansatz ist hervorragend für repetitive Aufgaben und eignet sich hervorragend zur Bearbeitung großer Datensätze, wodurch der manuelle Aufwand reduziert wird. Stellen Sie jedoch sicher, dass Makros in Ihrer Excel-Umgebung aktiviert sind, und sichern Sie immer Ihr Arbeitsblatt, bevor Sie Code ausführen.
Hinweis: Wenn Sie auf Fehler stoßen, überprüfen Sie, dass Ihre Auswahl die Kopfzeile ausschließt und nur die Datenzeilen enthält.

Entfesseln Sie die Magie von Excel mit Kutools AI
- Intelligente Ausführung: Führen Sie Zellenoperationen durch, analysieren Sie Daten und erstellen Sie Diagramme – alles angetrieben durch einfache Befehle.
- Benutzerdefinierte Formeln: Erstellen Sie maßgeschneiderte Formeln, um Ihre Arbeitsabläufe zu optimieren.
- VBA-Codierung: Schreiben und implementieren Sie VBA-Code mühelos.
- Formelinterpretation: Verstehen Sie komplexe Formeln mit Leichtigkeit.
- Textübersetzung: Überwinden Sie Sprachbarrieren in Ihren Tabellen.
Die besten Produktivitätstools für das Büro
Stärken Sie Ihre Excel-Fähigkeiten mit Kutools für Excel und genießen Sie Effizienz wie nie zuvor. Kutools für Excel bietet mehr als300 erweiterte Funktionen, um die Produktivität zu steigern und Zeit zu sparen. Klicken Sie hier, um die Funktion zu erhalten, die Sie am meisten benötigen...
Office Tab bringt die Tab-Oberfläche in Office und macht Ihre Arbeit wesentlich einfacher
- Aktivieren Sie die Tabulator-Bearbeitung und das Lesen in Word, Excel, PowerPoint, Publisher, Access, Visio und Project.
- Öffnen und erstellen Sie mehrere Dokumente in neuen Tabs innerhalb desselben Fensters, statt in neuen Einzelfenstern.
- Steigert Ihre Produktivität um50 % und reduziert hunderte Mausklicks täglich!
Alle Kutools-Add-Ins. Ein Installationspaket
Das Kutools for Office-Paket bündelt Add-Ins für Excel, Word, Outlook & PowerPoint sowie Office Tab Pro und ist ideal für Teams, die mit mehreren Office-Anwendungen arbeiten.





- All-in-One-Paket — Add-Ins für Excel, Word, Outlook & PowerPoint + Office Tab Pro
- Ein Installationspaket, eine Lizenz — in wenigen Minuten einsatzbereit (MSI-kompatibel)
- Besser gemeinsam — optimierte Produktivität in allen Office-Anwendungen
- 30 Tage kostenlos testen — keine Registrierung, keine Kreditkarte erforderlich
- Bestes Preis-Leistungs-Verhältnis — günstiger als Einzelkauf der Add-Ins