Hallo.
Ich benötige Hilfe bei einem Excel-Problem. Da dieses Thema sehr kompliziert zu Beschreiben ist, werde ich einzelne Schritte angeben.
Sollte etwas unklar sein, bitte nachfragen. Ivh werde dann spezifisch genauer darauf eingehen.
1. In Einer Excel-Tabelle mit einer Spalte steht ein Buchstabencode beispielsweise in dieser form:
a|b|c|d
2. Jeder dieser Buchstaben steht für ein oder mehrere Worte
3. Aufgabe ist es nun, diese Buchstaben möglichst schnell und effizient durch die dazugehörigen Worte zu ersetzen.
bisher habe ich das problem so gelöst:
- Jede vorkommende Möglichkeit (a|b|c; a|c usw)wurde in einer seperaten Excel-Datei genau einmal eingefügt.
- In die Spalte daneben wurden in richtiger Reihnfolge die jeweils passenden Bedeutungen geschrieben (Apfel|Banane usw).
- Dann wurde der befehl =VLOOKUP() verwendet. (zu deutsch: =sverweis() ) um die Buchstaben in der orginal File zu ersetzen.
Sie können sich vorstellen, dass dieses Verfahren je nach Größe der Datei einige Stunden benötigen kann.
Bitte helfen Sie mir eine bessere Lösung zu finden.
Danke im Vorraus
moardin
Warum kostenlos registrieren?
Nur als registriertes Mitglied hast Du vollen Zugriff auf alle Funktionen unserer Website. So kannst Du eigene Fragen stellen und hast die volle Übersicht über neue interessante Themen im Forum.
Jetzt kostenlos registrieren.
Login
Suche Excel Funktion
6 Beiträge • Seite 1 von 1
Hallo moardin,
man könnte das ganze in VBA lösen. Die 'entschlüsselten' Werte in ein Array einlesen und dann mit den codierten Zellen vergleichen. Über das Tempo kann ich leider nichts sagen. Hängt auch da davon ab wieviele Werte vorhanden sind.
Alternativ dazu würde ich dir Access empfehlen. Die codierten Werte in eine Tabelle, die entschlüsselten Werte in eine 2. Tabelle und diese dann miteinander verknüpfen.
man könnte das ganze in VBA lösen. Die 'entschlüsselten' Werte in ein Array einlesen und dann mit den codierten Zellen vergleichen. Über das Tempo kann ich leider nichts sagen. Hängt auch da davon ab wieviele Werte vorhanden sind.
Alternativ dazu würde ich dir Access empfehlen. Die codierten Werte in eine Tabelle, die entschlüsselten Werte in eine 2. Tabelle und diese dann miteinander verknüpfen.
- Porsche Fan
- Beiträge: 160
- Registriert: 02.08.2005, 00:52
Kodierung
Hallo
geh ich rcht in der Annahme, daß die Buchstaben in der Tabelle (der kodierte Text) durch einfaches ersetzen von Buchstabe X durch Buchstabe Y erzeugt wurde.
Also z.B. aus e wird g; aus f wird H unsw. ?
Wenn dem so ist googel mal
Viniere-Chiffre
Ausserdem solltest du dir eine tabelle besorgen in der die prozentuale Verteileung der Buchstaben im dt. Alphabet aufgelistet ist.
damit kann man wahrscheinlich per hand den Text eher entschlüseln als per Excel-Befehl.
Außerdem gibt es für die Vinierechiffre eine Formel zur Dekodierung, wurde im 19.Jh entdeckt.
mfg
schwedenmann
geh ich rcht in der Annahme, daß die Buchstaben in der Tabelle (der kodierte Text) durch einfaches ersetzen von Buchstabe X durch Buchstabe Y erzeugt wurde.
Also z.B. aus e wird g; aus f wird H unsw. ?
Wenn dem so ist googel mal
Viniere-Chiffre
Ausserdem solltest du dir eine tabelle besorgen in der die prozentuale Verteileung der Buchstaben im dt. Alphabet aufgelistet ist.
damit kann man wahrscheinlich per hand den Text eher entschlüseln als per Excel-Befehl.
Außerdem gibt es für die Vinierechiffre eine Formel zur Dekodierung, wurde im 19.Jh entdeckt.
mfg
schwedenmann
- schwedenmann
- Moderator
- Beiträge: 6789
- Registriert: 29.12.2003, 16:14
- Wohnort: 41844 Wegberg
@schwedenman:
Das stimmt leider nicht (die Buchstaben wurden bereits außerhalb von Excel Erzeugt und Importiert)
@Porsche Fan:
das ist zwar die Möglichkeit, die ich momentan auch ins Auge fasse, aber ich muß gestehen, dass meine Kenntnisse über die bloße Existenz von Macros nicht hinaus gehen.
Es wäre nett, wenn ich dabei Hilfe erhalten könnte.
so weit mein Versuch:
Dim a, b, c, d, e As String
a = "Banane"
Sub S4_Q3()
For Each Row In Worksheets("Sheet1")
ActiveCell
Next
End Sub
Ich müßte sicherlich meine Werte in arrays speichern und eine verschachtelte for-Schleife erzeugen die zuerst die Spalte durchläuft und dann die werte ersetzt.
Das ganze sollte dann später so aussehen, dass ich dieses Macro als Template für spätere Umwandlungen benutzen kann.
Vielen dank soweit aber ich bräuchte Hilfe beim Scripten.
Moardin
Das stimmt leider nicht (die Buchstaben wurden bereits außerhalb von Excel Erzeugt und Importiert)
@Porsche Fan:
das ist zwar die Möglichkeit, die ich momentan auch ins Auge fasse, aber ich muß gestehen, dass meine Kenntnisse über die bloße Existenz von Macros nicht hinaus gehen.
Es wäre nett, wenn ich dabei Hilfe erhalten könnte.
so weit mein Versuch:
Dim a, b, c, d, e As String
a = "Banane"
Sub S4_Q3()
For Each Row In Worksheets("Sheet1")
ActiveCell
Next
End Sub
Ich müßte sicherlich meine Werte in arrays speichern und eine verschachtelte for-Schleife erzeugen die zuerst die Spalte durchläuft und dann die werte ersetzt.
Das ganze sollte dann später so aussehen, dass ich dieses Macro als Template für spätere Umwandlungen benutzen kann.
Vielen dank soweit aber ich bräuchte Hilfe beim Scripten.
Moardin
- moardin
- Beiträge: 37
- Registriert: 14.06.2005, 11:04
Hallo moardin,
hier ein erster Entwurf.
Voraussetzungen:
Ich gehe mal davon aus das die Buchstaben auf Tabelle1 alles Kleinbuchstaben sind.
Tabellenblatt "Tabelle1" 1. Spalte
a|b|c
a|d|f
f|a|f
Tabellenblatt "Tabelle2" 1. und 2. Spalte
a Apfel
b Birne
c Clementine
d Dattel
e xxx
f Feige
g yyy
h zzz
i www
j vvv
Das Ergebnis wird in Tabelle1 2. Spalte geschrieben.
Falls die Voraussetzungen doch etwas anders sind melde dich noch mal, oder schick mir mal ne Beispieldatei zu.
hier ein erster Entwurf.
Voraussetzungen:
Ich gehe mal davon aus das die Buchstaben auf Tabelle1 alles Kleinbuchstaben sind.
Tabellenblatt "Tabelle1" 1. Spalte
a|b|c
a|d|f
f|a|f
Tabellenblatt "Tabelle2" 1. und 2. Spalte
a Apfel
b Birne
c Clementine
d Dattel
e xxx
f Feige
g yyy
h zzz
i www
j vvv
- Code: Alles auswählen
Sub decode()
Dim strDecode(10) As String
Dim strCode As String
Dim strResult As String
Dim n As Integer
Dim nC As Integer
Dim nHelp As Integer
'Werte in Array einlesen
Sheets("Tabelle2").Select
strDecode(0) = ""
n = 1
While Cells(n, 1).Value <> ""
strDecode(n) = Cells(n, 2).Value
n = n + 1
Wend
'codierte Werte ermitteln, decodieren und schreiben
nC = 1
Sheets("Tabelle1").Select
While Cells(nC, 1).Value <> ""
strResult = ""
strCode = Cells(nC, 1).Value
For nHelp = 1 To Len(strCode)
If Mid(strCode, nHelp, 1) = "|" Then
strResult = strResult & " "
Else
strResult = strResult & strDecode(Asc(Mid(strCode, nHelp, 1)) - 96)
End If
Next
Cells(nC, 2).Value = strResult
nC = nC + 1
Wend
End Sub
Das Ergebnis wird in Tabelle1 2. Spalte geschrieben.
Falls die Voraussetzungen doch etwas anders sind melde dich noch mal, oder schick mir mal ne Beispieldatei zu.
- Porsche Fan
- Beiträge: 160
- Registriert: 02.08.2005, 00:52
das sieht wirklich um Längen besser aus als meine bisherige Kreation!
ich kann es leider erst am Montag ausprobieren, da ich übers Wochenende nicht im Land bin...
Aber grundsätzlich erstmal vielen Dank!
und wenn es wirklich funktioniert ist mir das 20€ wert!
Vielen Vielen Dank für die Mühe!
very best Regards
moardin
p.s.: Weiteres am Montag... Schönes Wochenende!
ich kann es leider erst am Montag ausprobieren, da ich übers Wochenende nicht im Land bin...
Aber grundsätzlich erstmal vielen Dank!
und wenn es wirklich funktioniert ist mir das 20€ wert!
Vielen Vielen Dank für die Mühe!
very best Regards
moardin
p.s.: Weiteres am Montag... Schönes Wochenende!
- moardin
- Beiträge: 37
- Registriert: 14.06.2005, 11:04
6 Beiträge • Seite 1 von 1
Ähnliche Themen
| Suche einen CS Clan.. Forum: Sonstige Rubriken Autor: Anonymous Antworten: |
suche nen wurm prg Forum: Online- und PC-Sicherheit Autor: blue-sky Antworten: |
Suchen in Excel Forum: Software-Hilfe Autor: Computerlaie Antworten: |
Bin Neu hier: Suche Porgramm zur Flash-Gestaltung Forum: Software-Hilfe Autor: s_vaeth Antworten: |
Suche ein Programm für Internet-Telefon Forum: Software-Hilfe Autor: basto88 Antworten: |
Wer ist online?
Mitglieder in diesem Forum: 0 Mitglieder und 0 Gäste