Doppelte Einträge

Hallo.

Ich habe ein Worddokument mit 1900 Seiten Schriftgröße 8 und in jeder zeile steht als tabellenform:

Name;Adresse;Text

Das ganze dokument enthält doppelte einträge, ich habe sie schon untereinander sortiert, möchte es mir jetzt aber leicht machen, indem diese rausgelöscht werden und dann jeweils hinter dem Text ein zähler um eins hochgezählt wird, also so:

Name;Adresse;Text;Zähler(Anzahl)

mit excel-macros kenne ich mich aus, habe aber keinen blassen schimmer mit word…
wer kann mir helfen?? wär echt suuuperlieb.

Gruß und Danke schon vorab, der Micha

Hallo.

Hi,

Ich habe ein Worddokument mit 1900 Seiten

WTF! $"§ß Bist Du denn das Wahnsinns fette Beute! Nein, sorry. Das geht echt? Wow!

Schriftgröße 8 und in jeder zeile steht als tabellenform:

Name;Adresse;Text

Steht das wirklich so (Spalten durch ‚;‘ getrennt) da oder in einer wirklichen Word-Tabelle? Enthaelt es sonst irgendwelche Formatierungen?

Das ganze dokument enthält doppelte einträge, ich habe sie
schon untereinander sortiert, möchte es mir jetzt aber leicht
machen, indem diese rausgelöscht werden und dann jeweils
hinter dem Text ein zähler um eins hochgezählt wird, also so:

Name;Adresse;Text;Zähler(Anzahl)

mit excel-macros kenne ich mich aus, habe aber keinen blassen
schimmer mit word…

Ich kenn mich mit Word nicht so aus, aber mit shell tools. Falls Du das ganze evtl. in eine Text-Datei speichern koenntest macht das Unix-Programm uniq genau das:

$ uniq -c 

Falls Du das Programm nicht hast, gibt es das als Portierung fuer Windows im cygwin-Paket[1]. Die Datei ist wieder eine Textdatei und kann von Word geladen werden (wenn’s sein muss).

HTH,
Gruss vom Frank.
===footnotes===
[1] http://www.cygwin.com/

Hi,
WTF! $"§ß Bist Du denn das Wahnsinns fette Beute! Nein,
sorry. Das geht echt? Wow!

Name;Adresse;Text

Steht das wirklich so (Spalten durch ‚;‘ getrennt) da oder in
einer wirklichen Word-Tabelle? Enthaelt es sonst irgendwelche
Formatierungen?

momentan steht es noch so. ich wollte es in eine wordtabelle werfen.

Ich kenn mich mit Word nicht so aus, aber mit shell tools.
Falls Du das ganze evtl. in eine Text-Datei speichern
koenntest macht das Unix-Programm uniq genau das:

$ uniq
-c

Falls Du das Programm
nicht hast, gibt es das als Portierung fuer Windows im
cygwin-Paket[1]. Die Datei ist wieder eine
Textdatei und kann von Word geladen werden (wenn’s sein muss).

HTH,
Gruss vom Frank.
===footnotes===
[1] http://www.cygwin.com/

die 1900 seiten portiere ich zuvor von excel. ist sozusagen eine funktionsverfolgung. des geht irgendwie nur, wenn ich es in word importiere, deswegen, das hab ich nicht zuvor geschrieben :wink:.

na ma sehen, wie deine datei arbeitet…

gruß Micha

[OT] Vorsicht: LaTeX-Propaganda
Warnung: Wer darauf empfindlich reagiert, wenn in einem Beitrag die Worte ‚Word‘ und ‚LaTeX‘ gleichzeitig auftauchen (und eines der beide Programme dabei schlechter weg kommt), sollte jetzt _schnell_ die Augen schliessen und auf den naechstn Beitrag klicken. Ich moechte hier auf keinen Fall wieder so einen flame war anzetteln, wie etwas weiter unten.

Beim Spielen mit dem hier beschriebenen Problem, Daten der Form

Name;Adresse;Text

zu sortieren, zu vereinzeln und in eine Tabelle zu schreiben, ist mir wieder sehr augenscheinlich bewusst geworden, dass eines der beiden Prgramme entschiedene Nachteile hat:

frank@freya [~] $ sort data |uniq -c |while read count string
\> do echo `echo $string |sed 's%;% \& %g'` \& $count \\\\
\> done \>tablecontent.tex
frank@freya [~] $ cat table.tex
\documentclass{report}
\usepackage{longtable}

\begin{document}
\begin{longtable}{|l|l|l|}
\hline
Name & Adresse & Text & Anzahl \\
\hline\hline
\input tablecontent
\hline
\end{longtable}

\end{document}
frank@freya [~] $ latex table.tex

Juhu, ich hab Feierabend. Ach ja, die erwaehnten Nachteile: LaTeX ist viel komplizierter als Word.

Ein Narr, wer auf mich reinfaellt,
Gruss vom Trol^WFrank.

Nein, diesmal nicht LaTeX, aber …
Hallo,

sag mal, ähm, eine 1900 Seiten große Tabelle in Word … nicht mal das Hamburger Telefonbuch hat so viele Seiten. Wer soll denn das lesen? Oder anders gefragt, bist Du sicher, dass Word oder Excel dafür die richtigen Anwendungen sind? Wäre das nicht eher ein Fall für eine Datenbank? Schon allein wegen des schnellen Zugriffs? Die Suchfunktionen von Word und Excel sind nicht wirklich die allerschnellsten, wenn es um solche Mengen geht.

Ich habe allerdings mal ein VBA-Excel-Makro zum rausfiltern doppelter Einträge in einer Tabelle geschrieben, falls Dir das helfen würde. Ich muss es nur wiederfinden, dann kann ich es dir mailen. VBA ist aber auch nicht wirklich kompliziert, wenn man erstmal herausgefunden hat, wie man in Excel Zellen anspricht. Dazu kannst Du auch einfach ein Makro aufzeichnen und anschließen im VBA-Editor anschauen. Ich habe so meine Zweifel, dass bei den Mengen so ein Makro ohne Absturz über die Bühne geht …

So, und nun steinigt mich.

Gruß

Fritze

ich wills eben nicht lesen, deswegen will ich ja nur der häufigkeit nach des ganze sortieren und mich an die funktionen ran machen, die komischerweise 5 mal aufgerufen werden, obwohl ich es bewusst nur einmal mache.

ich hätte es auch nicht in excel gemacht.
dient zu einer statistischen auswertung und BINGO, ich hole eben grade die daten aus einer gaaanz normalen SQL-tabelle. diese funktionen übrigens lasse ich zählen.
und um genau zu sein, es sind über 140000 abfragen an die DB, die ein Worddoku in schriftgröße 8 in über 1940 seiten füllen. im format , wie genannt, keine tabellen in word.

ich hätte es auch anders gemacht, wurde aber so gewünscht. ich kenne mich eigentlich gut mit vba aus, aber leider nicht im „word“-teil :frowning:

gruß Micha

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

moment mal…
Salü Michael

Darf ich fragen, was Du exakt für ein Ziel, bzw. Aufgabe hast?

Soweit ich in diesem Thread die Fakten gefunden habe, hast Du n Daten in einer relationalen DB geholt (techn. formuliert eine „Abfrage“ geschrieben) und willst diese nun darstellen („Bericht“). Die n Daten enhalten nun aber mehrfach identische Zeilen die du nicht willst, richtig?

Abfragen schreibt man i.d.R. mit SQL. SQL hat in jeder Sprachvariante seit ewigen Zeit ein Statment namnes „distinct“. Dieses Statment entfernt doppelte Datensätze aus den Dir angezeigten Daten. D.h. die Daten sind nach wie vor in der DB, aber werden im Resultat Deiner Abfrage nicht angezeigt. Tutorial dazu findest Du z.B. hier:
http://epoch.cs.berkeley.edu:8000/sequoia/dba/montag…

Um an den Anfang zurück zu kommen, mir ist nicht klar welche Kriterien
Dein Bericht schlussendlich erfüllen muss. Ansonsten könnte ich Dir weitere Tipps geben.

Grüsse Peter

ketzerische Frage…
Salü Frank

Ich kenn mich mit Word nicht so aus, aber mit shell tools.

Dann beantworte auch keine diesbezüglichen Fragen! Lass die Anwender im Sandkasten spielen und kümmere Du Dich um die schweren Probleme mit Unix, Netzwerk und Sicherheit >;->

Nichts für ungut.
Peter

PS:
Produkte die man nicht kennt madig machen und das was man kennt dafür anpreisen, finde ich sehr unschön…

Also:

Ich hole daten mittels vba aus einer DB in excel rein. und das ganze passiert über funktionen und prozeduren in vba.
nun führt er aber zuviele funktionen aus. ich sage ihm: führ sie einmal aus, er macht es aber 5 mal.
somit entstehen bei mir über 140000 funktions/prozeduraufrufe.
jetzt hab ich ne „wegvefolgung“ drinnen, die mir aber logischerweise nur diese 140000 einträge in word auflistet. ich möchte jetzt also jede zeile miteinander erstmal vergleichen, wenn sie schon mal vor kam löschen und neben die zeile, wo sie schon mal vor kommt nen zähler hochzählen lassen, damit ich sehe wie oft sie aufgerufen wird, und dann auch vllt WARUM.

so.

das ist der sachverhalt.

gruß micha

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Hallo,

> frank@freya [~] $ sort data |uniq -c |while read count  
> string  
> \> do echo `echo $string |sed 's%;% \& %g'` \& $count \\\\  
> \> done \>tablecontent.tex  
> frank@freya [~] $ cat table.tex  
> \documentclass{report}  
> \usepackage{longtable}  
>   
> \begin{document}  
> \begin{longtable}{|l|l|l|}  
> \hline




> Name & Adresse & Text & Anzahl \\

Ich würde sogar dazu neigen, daß in eine extra Datei auszulagern:

\input{addressdata}

Dann hat man die Adressen „pur“ in der Datei und kann munter mit der gesamten Bandbreite der einschlägig bekannten Tools draulosfeuern, ohne um TeX-Kommandos herumschiffen zu müssen.

YMMV,

Sebastian

Hallo,

Ich kenn mich mit Word nicht so aus, aber mit shell tools.

Dann beantworte auch keine diesbezüglichen Fragen!

Huch? Der Lösungsweg ist bei der Aufgabenstellung IMHO äußerst sinnvoll. Oder gibt es einen Zwang, die Lösung innerhalb von Word zu erledigen? Das sind schließlich einigermassen unformatierte „nur Text“-Daten.

Produkte die man nicht kennt madig machen und das was man
kennt dafür anpreisen, finde ich sehr unschön…

Ich behaupte einmal, daß eine ganze Menge User von Shell (und meinetwagen auch LaTeX) schonmal Kontakt mir Word hatten.

„Use the right tool for the job“.

Oder habe ich Deine Word-Lösung einfach nur übersehen? Du weichst Doch auch auf SQL aus (was möglicherweise der Königsweg wäre).

Sebastian

Sebastian

Ich versteh’s wieder mal nicht
Hallo,

Ich hole daten mittels vba aus einer DB in excel rein.

So, da schnall ich schon ab. Warum willst Du die Daten unbedingt in Excel haben für eine Auswertung? Und noch warumer dann ausgerechnet noch nach Word, wenn das eh’ niemals niemend nicht lesen will?

Wenn jemand Daten aus einer feinen SQL-Datenbank auswerten will, dann nimmt doch dafür nicht Word und/oder Excel! Damit kann man vielleicht die Ergebnisse der Auswertung in Form eines Berichtes zusammenfassen. Wer zwingt Dich denn dazu, das so zu machen? Ich kann es einfach nicht glauben.

Gruß

Fritze

*Zustimmung*
Salü Sebastian

Du hast Recht mit der Frage, ob der Benutzer für dieses Problem das richtige Tool gewählt hat. B.t.w sind wir uns sogar einig, dass viele Fragen nicht hier landen würden, wenn der Inhaber des Problemes „Grundlagenforschung“ und konzeptionelle Problemanaylse betreiben würde… :wink:

Auch kann ich Dir zustimmen, dass man ggf. und manchmal mit externen Tools (Windiff, etc.) Probleme lösen kann.

Ich versuche mich in den Anwender zu versetzen und gehe egänzend vom Motto aus „Was du nicht willst…“. Für mich stellt sich die Anwenderseite in etwa so dar: "Er arbeitet mit einer bestimmten Software. Die Software gilt es zu erlernen. Entweder direkt (aha, Seitenformatierung ist hier) oder indirekt („Tipps & Tricks“: „Schnellspeicherung für Datenschutz ausschalten“).
Mit jedem überwundenen Problem fühlt er sich sicherer und erhöht seine
Anwenderkompetenz. Was weniger Stress und mehr Jobsicherheit bringt.

Daher erwarte ich von einem Antwortenden, dass er sich überlegt ob er eine Antwort hat, wenn der User wahrscheinlich nur MS-Office auf einem
WIN-PC hat. Als Info („PS“) auf andere Software, bzw. Softwarewelten hinzuweisen finde ich problemlos. Wobei ich annehme, dass ein Hinweis auf eine andere Textverarbeitung („Star Office / OpenOffice“ / „AmiPro“ / „Wordpad“ / „WordPerfect“) eher anwendergerecht in einem Textverbeitungsforum ist, als auf andere Softwarewelten wie Unix.

Zumindest käme ich mir polemisch und provokativ vor, wenn ein Unixanwender mit VI ein Problem hat und ich ihm den Lösungsweg mit Edlin vorschwärme :->

viele Grüsse
Peter
PS:
Bitte lass uns das bei Bedarf via Mail weiter diskutieren. Die Anwender sind sicher weniger an eher akademischen OT-Treppen interessiert :smile:

Hallo,

So, da schnall ich schon ab. Warum willst Du die Daten
unbedingt in Excel haben für eine Auswertung? Und noch warumer
dann ausgerechnet noch nach Word, wenn das eh’ niemals niemend
nicht lesen will?

Wenn jemand Daten aus einer feinen SQL-Datenbank auswerten
will, dann nimmt doch dafür nicht Word und/oder Excel! Damit
kann man vielleicht die Ergebnisse der Auswertung in Form
eines Berichtes zusammenfassen. Wer zwingt Dich denn dazu, das
so zu machen? Ich kann es einfach nicht glauben.

Gruß

Fritze

Es geht um statistik und da wird eben Excel preferiert. weder du noch ich würden so entscheiden.
ich brauche die funktion und den tabellennamen, die die funktion aufruft.

mit activesheet wird die falsche tabelle ausgelesen, nämlich die, von der ich das ganze ins rollen bringe.

gruß Micha

eindeutig falsches Forum
Salü Michael

Danke für die erneute Erläuterung des Sachverhaltes.
Ich habe verstanden dass Du in einer relationalen Datenbank Daten hast, die Du auszugsweise für statistische Auswertungen benötigst. Für
die statistischen Auswertungen wurde dir Excel vorgegeben. In Excel hat man für die Selektion der Daten auf der Datenbank sowie die statistischen Berecnung VBA Programm(e) im Einsatz. Durch einen Fehler in der VBA Routine werden die Daten 5x geholt.
Und jetzt hast Du angefangen zu rotieren und mit Word zu experimentieren… :frowning:

Poste das Excel VBA Makro (Excel Version, Art des DB-Zugriffes (ODBC / ADO), Datenbankprodukt) im VB / VBA Forum und Dein Problem wird gelöst werden.

Grüsse
Peter
PS:
Hat derjenige, welcher Excel für die statistischen Auswertungen gewählt hat, sich tiefer mit den Grenzen von Excel und den Möglichkeiten die es für statistische Auswertungen bietet, auseinandergesetzt? Nur so am Rande…

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Ich habe ein Worddokument mit 1900 Seiten Schriftgröße 8 und
in jeder zeile steht als tabellenform:
Name;Adresse;Text
Das ganze dokument enthält doppelte einträge, ich habe sie
schon untereinander sortiert, möchte es mir jetzt aber leicht
machen, indem diese rausgelöscht werden und dann jeweils
hinter dem Text ein zähler um eins hochgezählt wird, also so:
Name;Adresse;Text;Zähler(Anzahl)

Hi Michael,
wie gesagt, wandle es über Tabelle–Umwandeln–TextinTabelle in eine Tabelle um.
Dann sortiere die Tabelle.
Dann hinten eine vierte Spalte hinzufügen.
Dann lass diese Zeilen darüberlaufen:

Sub auswert()
Dim n As Long
Dim Z1 As String, Z2 As String
With ActiveDocument.Tables(1)
 n = 1
 .Cell(1, 4).Range.Text = 1
 While n + 1 
Gruß
Reinhard