Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
700to704
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
700to704
700to704
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Vergleichen von zwei Texteingaben

Vergleichen von zwei Texteingaben
29.11.2005 11:50:44
zwei
Hallo Ex(cel)perten,
ich steh momentan vor folgendem Problem: Ich habe zwei Spalten mit Unternehmensnamen, welche aber nicht einheitlich geschrieben sind, Beispiel:
Siemens; Siemens AG
Credit Suisse; Credit Suisse Group
Serono `B`; Serono
Swatch Group; The Swatch Group
Ich würde jetzt gerne mit einer Formel prüfen, zu wieviel Prozent die Eingaben in einer Reihe übereinstimmen. Beispiel: "Serono `B`" enthält 10 Zeichen und sechs Zeichen stimmen mit "Serono" überein, d.h. als Ergebnis sollte 60% erscheinen.
Gibt es so eine Formel auf Excel? bin leider nicht fündig geworden.
Vielen Dank im voraus für alle Antworten.
Gruss
Dirk

10
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Vergleichen von zwei Texteingaben
29.11.2005 15:05:08
zwei
Hallo Dirk,
Formeln sind nicht meine Sache, aber per VBA geht es:
Ich geh davon aus das die Werte in Spalte A und B stehen, das Ergebnis wird in Spalte C ausgegeben.
Makro in die Arbeitsmappe kopieren und starten aus dem Blatt mit den Namen heraus starten.

Sub TextProzente()
Dim rngZelle As Range
For Each rngZelle In ActiveSheet.Range(Cells(1, 1), Cells(ActiveSheet.UsedRange.Rows.Count, 1))
rngZelle.Offset(0, 2).NumberFormat = "0.00%"
If Len(rngZelle.Text) > Len(rngZelle.Offset(0, 1).Text) Then
If InStr(rngZelle.Text, rngZelle.Offset(0, 1).Text) > 0 Then
rngZelle.Offset(0, 2).Value = Len(rngZelle.Offset(0, 1).Text) / Len(rngZelle.Text)
End If
Else
If InStr(rngZelle.Offset(0, 1).Text, rngZelle.Text) > 0 Then
rngZelle.Offset(0, 2).Value = Len(rngZelle.Text) / Len(rngZelle.Offset(0, 1).Text)
End If
End If
Next rngZelle
End Sub

Gruß Heiko
PS: Rückmeldung wäre nett !
Anzeige
AW: Vergleichen von zwei Texteingaben
30.11.2005 09:06:42
zwei
Hallo Heiko,
das sieht ja schon mal ziemlich gut aus! Hat funktioniert, es wäre nur eine Kleinigkeit für mich noch hilfreich, wenn die Gross- und Kleinschreibung nicht beachtet würden. Beispiel:
SIEMENS;Siemens
sollte auch 100% geben.
Kann man das noch in das Makro einbauen?
Gruss
Dirk
AW: Vergleichen von zwei Texteingaben
30.11.2005 09:06:47
zwei
Hallo Heiko,
das sieht ja schon mal ziemlich gut aus! Hat funktioniert, es wäre nur eine Kleinigkeit für mich noch hilfreich, wenn die Gross- und Kleinschreibung nicht beachtet würden. Beispiel:
SIEMENS;Siemens
sollte auch 100% geben.
Kann man das noch in das Makro einbauen?
Gruss
Dirk
Anzeige
AW: Vergleichen von zwei Texteingaben
30.11.2005 09:06:55
zwei
Hallo Heiko,
das sieht ja schon mal ziemlich gut aus! Hat funktioniert, es wäre nur eine Kleinigkeit für mich noch hilfreich, wenn die Gross- und Kleinschreibung nicht beachtet würden. Beispiel:
SIEMENS;Siemens
sollte auch 100% geben.
Kann man das noch in das Makro einbauen?
Gruss
Dirk
AW: Vergleichen von zwei Texteingaben
30.11.2005 09:06:58
zwei
Hallo Heiko,
das sieht ja schon mal ziemlich gut aus! Hat funktioniert, es wäre nur eine Kleinigkeit für mich noch hilfreich, wenn die Gross- und Kleinschreibung nicht beachtet würden. Beispiel:
SIEMENS;Siemens
sollte auch 100% geben.
Kann man das noch in das Makro einbauen?
Gruss
Dirk
Anzeige
Sorry für das Mehrfachposting...
30.11.2005 09:09:53
DirkR
... irgendiwe hing meine Internetverbindung
AW: Sorry für das Mehrfachposting...
30.11.2005 09:13:11
Heiko
Moin Dirk,
das sieht dann so aus:

Sub TextProzente()
Dim rngZelle As Range
For Each rngZelle In ActiveSheet.Range(Cells(1, 1), Cells(ActiveSheet.UsedRange.Rows.Count, 1))
rngZelle.Offset(0, 2).NumberFormat = "0.00%"
If Len(rngZelle.Text) > Len(rngZelle.Offset(0, 1).Text) Then
If InStr(UCase(rngZelle.Text), UCase(rngZelle.Offset(0, 1).Text)) > 0 Then
rngZelle.Offset(0, 2).Value = Len(rngZelle.Offset(0, 1).Text) / Len(rngZelle.Text)
End If
Else
If InStr(UCase(rngZelle.Offset(0, 1).Text), UCase(rngZelle.Text)) > 0 Then
rngZelle.Offset(0, 2).Value = Len(rngZelle.Text) / Len(rngZelle.Offset(0, 1).Text)
End If
End If
Next rngZelle
End Sub

Gruß Heiko
PS: Rückmeldung wäre nett !
Anzeige
Bei zwei funktioniert es irgendwie nicht
30.11.2005 09:38:22
DirkR
Hallo Heiko,
kannst du evtl. nochmal kurz in die Datei schauen:
https://www.herber.de/bbs/user/28836.xls
Bei zwei Unternehmen scheint es aus irgendeinem Grund nicht zu funktionieren.
Vielen Dank für Deine Hilfe!!!
Gruss
Dirk
AW: Bei zwei funktioniert es irgendwie nicht
30.11.2005 09:51:23
Heiko
Hallo Dirk,
Bär und Baer ist ja auch nicht das gleiche.
Das Makro schaut welche Zelle länger ist und prüft dann ob die kürze Zelle in der längeren vorkommt, wenn ja dann werden die Prozente ausgegeben.
Aber "Juilius Bär" kommt in "Juilius Baer" nicht vor, also 0%
Wenn du auch noch Teile der Zellinhalte vergleichen willst, na dann viel Spaß.
Da sind dann viele Fragen zu klären, denn einzelne Buchstaben kommen immer irgendwie vor also wo sollte man die Grenze legen ?!
Gruß Heiko
PS: Rückmeldung wäre nett !
Anzeige
AW: Bei zwei funktioniert es irgendwie nicht
30.11.2005 10:09:43
DirkR
Hallo Heiko,
ah, jetzt verstehe ich langsam was dein Makro macht.
Danke für die Antwort, dann weiss ich Bescheid, auf was ich achten muss!
Vielen Dank für deine Hilfe!
Gruss
Dirk

303 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige