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

Forumthread: Prüfen ob Wert in der Range liegt

Prüfen ob Wert in der Range liegt
10.11.2017 11:02:07
NoobNoob
Hallo,
ich möchte gerne vergleichen ob der Wert einer Zelle in einem Bereich vorhanden ist. Also ob die Tarifgruppe * zwischen TG * und TG * liegt ( z.B. liegt 8 zwischen 7 und 9) und damit eine Tabelle durchlaufen. Da immer TG vor der Zahl steht kann ich es nicht als Zahl auslesen. Ich hoffe jemand kann helfen
VG
Anzeige

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Beispiel Mappe bitte, ich raffs nicht... owT
10.11.2017 11:50:33
Peter(silie)

AW: immer der gleiche Text vor der Zahl ? ...
10.11.2017 11:51:18
...
Hallo,
... wenn dem so sein sollte (ist aus deinen Angaben nicht eindeutig erkennbar). kannst Du diesen durch "" (also Nichts ersetzen) und den verbleibenden Wert mit z.B 1 multiplizieren. Die so entstanden Zahlenwerte sind dann wieder vergleichbar.
Gruß Werner
.. , - ...
Anzeige
AW: Prüfen ob Wert in der Range liegt
10.11.2017 12:15:25
NoobNoob
Userbild
So soll das am Ende aussehen, sorry wenn ich mich nicht verständlich ausgedrückt habe. Die erste Spalte kann man hier aber ignorieren.
Danke euch
AW: Prüfen ob Wert in der Range liegt
10.11.2017 12:38:29
Peter(silie)
Hallo,
einfach den Zellinhalt als String an diese Funktion weitergeben und du
bekommst die Zahl:
Function GetNumber(ByVal Data_ As String) As Long
Dim i As Integer
Dim tmp As String
For i = 1 To Len(Data_)
tmp = Mid(Data_, i, 1)
If IsNumeric(tmp) Then
GetNumber = CLng(tmp)
Exit Function
End If
Next i
End Function

Anzeige
AW: Prüfen ob Wert in der Range liegt
10.11.2017 13:42:39
Daniel
Hi
wenn du lieber ne Formellösung hättest, noch ein paar Fragen:
1. ist die Schreibweise so vogelwild wie in deinem Beispiel oder kann man sich auf eine einheitliche Schreibweise verlassen?
Das bezieht sich vor allem auf die Leerzeichen (vor und nach dem "-", zwischen dem "TG" und der Nummer)
2. welche Texte können vorkommen, im Beispiel sind es "TG" und "A", wenn ja, welche gibt es noch (interessant ist vorallem die Länge)
3. ist die Tarifgruppennummer immer einstellig oder könnte es auch zweistellige Tarifgruppennummern geben?
Gruß Daniel
Anzeige
AW: Prüfen ob Wert in der Range liegt
10.11.2017 14:22:32
NoobNoob
Danke Daniel,
aber es sollte eine VBA Lösung sein.
Vielen Dank an Petersilie, habs ein bisschen modifiziert und jetzt klappt es.
VG
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige
Anzeige

Infobox / Tutorial

Prüfen, ob ein Wert in einem Bereich liegt


Schritt-für-Schritt-Anleitung

Um zu prüfen, ob ein Wert in einem bestimmten Bereich liegt, kannst du eine VBA-Funktion nutzen. Hier ist eine einfache Schritt-für-Schritt-Anleitung:

  1. Öffne den VBA-Editor:

    • Drücke ALT + F11, um den VBA-Editor zu öffnen.
  2. Füge ein neues Modul hinzu:

    • Klicke mit der rechten Maustaste auf VBAProject (DeinWorkbookName), wähle Einfügen und dann Modul.
  3. Füge den folgenden Code ein:

    Function GetNumber(ByVal Data_ As String) As Long
       Dim i As Integer
       Dim tmp As String
       For i = 1 To Len(Data_)
           tmp = Mid(Data_, i, 1)
           If IsNumeric(tmp) Then
               GetNumber = CLng(tmp)
               Exit Function
           End If
       Next i
    End Function
  4. Verwende die Funktion in einer Zelle:

    • Du kannst nun diese Funktion in einer Excel-Zelle verwenden, um den Zahlenwert aus einem Text zu extrahieren.
  5. Vergleiche den Wert:

    • Nutze die IF-Funktion, um zu überprüfen, ob der extrahierte Wert in deinem gewünschten Bereich liegt. Zum Beispiel:
      =IF(AND(GetNumber(A1) >= 7, GetNumber(A1) <= 9), "In Range", "Out of Range")

Häufige Fehler und Lösungen

  • Fehler: Die Funktion gibt nicht die erwartete Zahl zurück:

    • Stelle sicher, dass der Text in der Zelle korrekt formatiert ist und keine zusätzlichen Leerzeichen enthält.
  • Fehler: Die Funktion wird nicht erkannt:

    • Überprüfe, ob das Modul korrekt eingefügt wurde und die Funktion in der richtigen Arbeitsmappe gespeichert ist.

Alternative Methoden

Falls du keine VBA-Lösung verwenden möchtest, kannst du auch eine Kombination aus Excel-Formeln nutzen:

  1. Verwende die TEXT-Funktion:
    • Um den Text zu bereinigen:
      =VALUE(TRIM(SUBSTITUTE(A1, "TG", "")))
  2. Verwende die MATCH-Funktion:
    • Prüfe, ob der Wert in einem anderen Bereich existiert.

Praktische Beispiele

Angenommen, du hast die Tarifgruppen in der Spalte A und möchtest wissen, ob der Wert in der Zelle B1 in diesem Bereich liegt:

A B
TG 7 8
TG 9
TG 6

Verwende die folgende Formel in Zelle C1:

=IF(AND(GetNumber(A1) <= B1, GetNumber(A2) >= B1), "In Range", "Out of Range")

Tipps für Profis

  • Nutze die VBA-Funktion für größere Datenmengen: Wenn deine Tabelle viele Daten enthält, kann die VBA-Funktion effizienter sein als die Verwendung von Formeln.
  • Vermeide unnötige Berechnungen: Setze die Funktion nur dort ein, wo es notwendig ist, um die Performance von Excel zu verbessern.

FAQ: Häufige Fragen

1. Frage Kann ich die Funktion auch für andere Textformate verwenden?

Antwort: Ja, die Funktion ist flexibel und kann für verschiedene Textformate angepasst werden, solange die Zahlen in dem Text enthalten sind.

2. Frage Wie kann ich die Funktion anpassen, wenn ich mehr als eine Zahl prüfen möchte?

Antwort: Du kannst die AND-Funktion erweitern oder zusätzliche IF-Bedingungen hinzufügen, um mehrere Werte gleichzeitig zu prüfen.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige