Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

WECHSELN zeilenweise anwenden
#1
Question 
Hallo,

ich habe eine Excel-Tabelle entwickelt, in der ich einen Text eingebe, und anschließend die Wörter je Satz des Textes gezählt werden, sodass ich in einem Diagramm die Verteilung betrachten kann, etwa, wie viele Sätze 14 Wörter hatten, und wie viele 20.

Nun basiert die Zählung der Sätze darauf, dass ein Punkt, Ausrufezeichen, Fragezeichen oder dreifacher Punkt als Einleitung eines neuen Satzes interpretiert wird. Als ich einige Zeitungsartikel testweise untersuchte, war ich verwundert, wie oft es relativ kurze "Sätze" mit drei oder gar einem Wort gab. Schließlich fand ich heraus, dass dies daher kommt, dass natürlich auch Abkürzungen wie "z. B." als zwei neue Satzanfänge gewertet werden, und so die Arbeitsmappe zwar theoretisch richtig arbeitet, aber dennoch nicht das tut, was ich gewollt hatte.

Nun würde ich gerne eine Tabelle, welche die ursprüngliche Zeichenkette (etwa "bspw.") und die Version ohne Punkt - bspw - enthält, verwenden, und habe dafür auch schon die mir bekannte Funktion WECHSELN in Betracht gezogen.

   

Mir ist bewusst, dass solch eine Tabelle niemals alle Abkürzungen entfernen kann, aber je mehr ich entferne, desto genauer wird das Endergebnis. Spalte B ist bereits durch automatisches "wechseln" des Punktes durch eine leere Zeichenkette berechnet, nur A wird eingegeben.

Meine Frage ist nun, ob ich die Funktion WECHSELN zeilenweise anwenden kann, sodass jedes "z.B." durch "zB" ersetzt wird, jedes "d.h." durch "dh" usw... Dass der Text dann eine falsche Interpunktion hat, ist irrelevant, da er sowieso schon vor dem Zählvorgang bearbeitet wird, etwa lasse ich alle Fragezeichen, Ausrufezeichen usw. durch Punkte ersetzen.

Ich hoffe, dass mir jemand weiterhelfen kann.
Antworten Top
#2
Hallo, wenn du doch WECHSELN() kennst, wie hast du es denn angewandt..? So..?


Code:
=WECHSELN(A1;".";"")
Arbeitsblatt mit dem Namen 'Tabelle1'
 AB
1z.B.zB
2bzw.bzw
3bspw.bspw
4d.h.dh
5Dr.Dr
6Prof.Prof

ZelleFormel
B1=WECHSELN(A1;".";"")
Diese Tabelle wurde mit Tab2Html (v2.5.0) erstellt. ©Gerd alias Bamberg
Falls es das nicht ist, was du suchst, beschreib' dein Problem(chen) doch mal genauer...
Gruß Jörg
ich muss mich erst wieder ganz langsam heran robben. Also bitte ich um Nachsicht

"Wer immer tut, was er schon kann, bleibt immer das, was er schon ist." - Henry Ford
Antworten Top
#3
Dann würde ich aus dem Text alle Punkte entfernen, also auch die, welche vorhanden sein müssen, da dort tatsächlich ein neuer Satz beginnt. Mit dieser Formel würde aus:

Dies ist ein Beispiel. Es soll veranschaulichen, was diese Formel machen würde.

dieser Text werden:

Dies ist ein Beispiel Es soll veranschaulichen, was diese Formel machen würde

Die Folge wäre dann, dass der Punkt und damit das Ende des Satzes nicht mehr gefunden wird, was aber die Funktion der Arbeitsmappe sein soll.


EDIT: Es geht mir darum, dass etwa aus einem Text wie: So kann z.B. der Text analysiert werden, d.h. die Verteilung der Anzahl von Wörtern pro Satz wird bestimmt. zu So kann zB der Text analysiert werden, dh die Verteilung der Anzahl von Wörtern pro Satz wird bestimmt.

Dann kann meine Tabelle nämlich die Wörter zählen, und wird nicht von Abkürzungen beeinflusst.
Antworten Top
#4
Hallo, dann so..?

Arbeitsblatt mit dem Namen 'Tabelle1'
 D
5So kann z.B. der Text analysiert werden, d.h. die Verteilung der Anzahl von Wörtern pro Satz wird bestimmt.
6So kann zB der Text analysiert werden, dh die Verteilung der Anzahl von Wörtern pro Satz wird bestimmt.

ZelleFormel
D6=WECHSELN(D5;".";"")&"."
Diese Tabelle wurde mit Tab2Html (v2.5.0) erstellt. ©Gerd alias Bamberg
Gruß Jörg
ich muss mich erst wieder ganz langsam heran robben. Also bitte ich um Nachsicht

"Wer immer tut, was er schon kann, bleibt immer das, was er schon ist." - Henry Ford
Antworten Top
#5
Gute Idee, funktioniert allerdings nicht. Die Arbeitsmappe trennt als erstes den Text, der aus vielen Sätzen besteht, in einzelne Sätze. Hierbei ist schon erforderlich, dass nur dort Punkte vorhanden sind, welche tatsächlich einen neuen Satz einleiten.

Was ich konkret brauche, ist die Ersetzung aller Einträge in A1 durch den jeweiligen Eintrag in B1, ohne dabei alle Punkte zu entfernen und später durch Konkatenieren wieder einzufügen, da so zwangsläufig die Information, wie lang ein Satz ist, verloren geht.

Folgende Formel funktioniert zwar nicht, aber vielleicht veranschaulicht sie, was ich benötige:

=WELCHSELN(!EingabeA1;A1:A8;B1:B8)

Wie gesagt funktioniert diese Formel nicht, aber es geht eben darum: A1 im Eingabetext suchen und durch B1 ersetzen, ebenso A2 suchen und durch B2 ersetzen,... Die Datenbank der Abkürzungen könnte schnell auf rund einhundert Einträge wachsen, es sollte also automatisiert sein.
Antworten Top
#6
Hallo,

ich glaube, dass das mit Formel sehr umständlich bis nicht möglich sein wird.

Mit VBA könnte man es lösen. Die zu ersetzenden text sollten in einer Spalte untereinander gelistet sein.
Dann müsste man noch wissen, wo die Text wie stehen.
Gruß Atilla
Antworten Top
#7
OK, meine VBA-Kenntnisse sind eher gering, aber ich lerne das gegenwärtig. Das Projekt eilt nicht so sehr, daher werde ich es wieder versuchen, wenn meine Kenntnisse darin besser sind. Hatte auch schon vermutet, dass es per Formel schwer wird.

Lösungsvorschläge per Formel, sollte es sie doch geben, sind jedoch weiterhin willkommen!
Antworten Top
#8
Hallo,

wenn Du VBA einsetzen kannst und willst, dann können wir Dir bei der Lösung behilflich sein.

Wie gesagt, dazu sollten die Dinge berücksichtigt werden, die ich vorhin schrieb.
Am Besten wäre ein Beispiel mit dem originalen Tabellenaufbau.
Gruß Atilla
Antworten Top
#9
Moin!
Mal ein Beispiel aus meinem Fundus.
Da geht es zwar um die Ersetzung von Sonderzeichen in HTML-Maskierung (immerhin 256 Möglichkeiten), das Prinzip ist aber das gleiche.
Es existiert eine Referenztabelle Sonderzeichen-HTML-Maskierung, die mit der Excel-Methode Ersetzen abgeklappert wird.
Ich hatte dies in der Datei mit einer UDF gelöst, bei einer einmaligen Geschichte wäre dies aber besser per Makro durchzuführen.

Gruß Ralf


Angehängte Dateien
.xlsm   TxtToHtml.xlsm (Größe: 27,03 KB / Downloads: 0)
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. 
Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
Antworten Top
#10
Frei nach dem Motto:
UDF in einem allgemeinen Modul:
Function WithoutDots(rng As Range, Referenz As Range) As String
Dim cnt As Long, arrTabelle
WithoutDots = rng
arrTabelle = Referenz
For cnt = 1 To Ubound(arrTabelle)
   WithoutDots = Replace(WithoutDots, arrTabelle(cnt, 1), arrTabelle(cnt, 2))
Next
End Function

Ergibt als Tabellenfunktion:
ABC
1z.B.zBLanger Satz mit z.B., d.h., Dr. und Prof. Hastig. Mal schauen, ob bzw. auch erkannt wird.
2bzw.bzwLanger Satz mit zB, dh, Dr und Prof Hastig. Mal schauen, ob bzw auch erkannt wird.
3bspw.bspw
4d.h.dh
5Dr.Dr
6Prof.Prof
Formeln der Tabelle
ZelleFormel
C2=WithoutDots(C1;$A$1:$B$6)

Excel Tabellen im Web darstellen >> Excel Jeanie HTML 4.8

Gruß Ralf
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. 
Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste