Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: erste Spalte mit Wert ermitteln

erste Spalte mit Wert ermitteln
Thomas
Hallo,
ich habe in einer Tabelle mehrere Zeilen (soll tatsächlich vorkommen :-))
In jeder Zeile steht genau ein Wert, allerdings in verschiedenen Spalten. In Zeile 1 kann also z.B. in Spalte B ein X stehen, in Zeile 2 steht ein Y in Spalte F, in Zeile 3 ein U in Spalte A und so weiter.
Gibt es eine Formel, mit welcher ich ermitteln kann, in welcher Spalte der jeweilige (variable) Wert steht (alle anderen Zellen der Zeile sind leer) oder läßt sich sowas nur über Makro lösen?
mfg
Thomas
Anzeige

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: erste Spalte mit Wert ermitteln
ChrisL
Hi Thomas
Folgende Funktion in ein Standardmodul...

Function FindSpezial(Bereich As Range) As Integer
Dim Zelle As Range
Application.Volatile
For Each Zelle In Bereich
If Zelle <> "" Then
FindSpezial = Zelle.Column
Exit Function
End If
Next Zelle
End Function

In eine Zelle schreibst du...
=FindSpezial(1:1)
Ergebnis = Spaltennummer
Gruss
Chris
Anzeige
hab grad selbst gefunden
24.03.2004 14:56:11
Thomas
Dank des Beitrags bezüglich Suchenwenn (https://www.herber.de/forum/messages/403466.html)
hab ich es einfach mal mit
{=SUMMENPRODUKT((A1:N1>"")*SPALTE(A1:N1))}
probiert. Und siehe da: es funktioniert. Trotzdem Dank für die VBA-Funktion.
mfg
Thomas
Anzeige
AW: erste Spalte mit Wert ermitteln
24.03.2004 15:06:54
Thomas
Stimmt, ist auch noch ne Möglichkeit
ich kopier mal den relevanten Teil raus:
{=MAX((A1:G1>"")*(SPALTE(A1:G1)))}
mfg
Thomas
PS: mein anderer Lösungsansatz mit Summenprodukt stammt auch von Dir. Danke nochmal.
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige

Infobox / Tutorial

Erste Spalte mit Wert ermitteln in Excel


Schritt-für-Schritt-Anleitung

Um die erste Spalte mit Wert zu ermitteln, kannst Du verschiedene Methoden anwenden. Hier ist eine einfache Schritt-für-Schritt-Anleitung:

  1. VBA-Methode:

    • Öffne den Visual Basic for Applications (VBA) Editor mit ALT + F11.
    • Füge ein neues Modul hinzu und kopiere den folgenden Code hinein:
    Function FindSpezial(Bereich As Range) As Integer
       Dim Zelle As Range
       Application.Volatile
       For Each Zelle In Bereich
           If Zelle <> "" Then
               FindSpezial = Zelle.Column
               Exit Function
           End If
       Next Zelle
    End Function
    • Schließe den VBA-Editor und kehre zu Deiner Excel-Tabelle zurück.
    • Verwende die Funktion in einer Zelle, indem Du =FindSpezial(1:1) eingibst (ersetze 1:1 durch den entsprechenden Bereich).
  2. Formel-Methode:

    • Eine alternative Formel, die Du verwenden kannst, ist:
    {=SUMMENPRODUKT((A1:N1>"")*SPALTE(A1:N1))}
    • Diese Formel gibt die Spaltennummer der ersten Zelle mit einem Wert in der Zeile zurück.

Häufige Fehler und Lösungen

  • Fehler: #NAME?

    • Ursache: Die Funktion wurde nicht korrekt im VBA-Editor eingefügt oder gespeichert.
    • Lösung: Überprüfe den VBA-Code und stelle sicher, dass Du die Funktion richtig aufrufst.
  • Fehler: Ergebnis ist 0

    • Ursache: Es gibt keine Werte im angegebenen Bereich.
    • Lösung: Stelle sicher, dass mindestens eine Zelle im Bereich Werte enthält.

Alternative Methoden

  • Verwendung von INDEX und VERGLEICH: Du kannst die erste Spalte mit einem bestimmten Wert auch mit einer Kombination aus INDEX und VERGLEICH ermitteln:

    =VERGLEICH("*",A1:N1,0)
  • VBA für spezifische Werte: Wenn Du nach einem bestimmten Wert suchen möchtest, kannst Du die folgende VBA-Funktion nutzen, um die Spaltennummer eines Wertes zu ermitteln:

    Function FindValue(Bereich As Range, Wert As Variant) As Integer
      Dim Zelle As Range
      For Each Zelle In Bereich
          If Zelle.Value = Wert Then
              FindValue = Zelle.Column
              Exit Function
          End If
      Next Zelle
      FindValue = -1 ' Wert nicht gefunden
    End Function

Praktische Beispiele

  1. Beispiel mit VBA:

    • Angenommen, Du hast Werte in den Zellen A1 bis N1. Mit =FindSpezial(A1:N1) erhältst Du die Spaltennummer der ersten Zelle mit einem Wert.
  2. Beispiel mit Formel:

    • Verwende die Formel =SUMMENPRODUKT((A2:N2>"")*SPALTE(A2:N2)) für die zweite Zeile, um die erste Spalte mit einem Wert zu finden.

Tipps für Profis

  • Einsatz von Array-Formeln: Nutze geschweifte Klammern {} um sicherzustellen, dass Excel die Formel als Array-Formel interpretiert. Dies kann die Leistung verbessern, wenn Du mit großen Datenmengen arbeitest.
  • Verwende benannte Bereiche: Wenn Du oft mit denselben Daten arbeitest, kann es hilfreich sein, benannte Bereiche zu erstellen, um die Lesbarkeit Deiner Formeln zu erhöhen.
  • VBA anpassen: Du kannst die VBA-Funktionen anpassen, um spezifische Anforderungen zu erfüllen, wie z.B. nur bestimmte Werte zu suchen.

FAQ: Häufige Fragen

1. Wie kann ich die Spaltennummer ermitteln, in der ein bestimmter Wert steht?
Mit der VBA-Funktion FindValue kannst Du gezielt nach einem bestimmten Wert suchen und die Spaltennummer ermitteln.

2. Funktioniert das auch in Excel Online?
Die VBA-Methode ist nur in Desktop-Versionen von Excel verfügbar. Für Excel Online solltest Du die Formelmethode verwenden.

3. Wie finde ich die erste Zeile mit einem bestimmten Wert?
Du kannst die Funktion VERGLEICH verwenden, um die erste Zeile mit einem bestimmten Wert zu finden, indem Du den Bereich vertikal durchsucht.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige