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.

Text in Zelle finden und Inhalt einer anderen Zelle wiedergeben
#1
Hallo liebe Excel-Experten/Innen, 

ich stoße leider an meine Grenzen mit meinen rudimentären Excelkenntnissen. Ich hoffe daher sehr, dass ihr mir helfen könnt. Aus einer Datenbank  (Childes-Corpus) habe ich eine lange Liste an Informationen, die ich nun anders aufbereiten möchte. 

Es soll eine Liste entstehen, mit folgenden Spalten in der Überschriftzeile (L1-P1) 
*CHI:  %mor:  From file. ***File. Strings matched
D.h., wenn in A5 „*CHI:“ gefunden wird, dann soll in die Liste in der Spalte unter *CHI: der Inhalt von B5 („all gone.“) stehen. Genauso auch bei %mor die Information, die in der Spalte daneben steht.. Bei from file, ***file, und strings match soll einfach der Text direkt übernommen werden.. 

Was noch zu beachten wäre: Wenn bei strings matched mehr als 1 steht, dann gibt es eine file, in der mehrmals ein Treffer (=strings matched) gefunden wurde. Also nicht jeder *CHI:-Eintag hat einen eigenen „From file“ Eintrag, sondern unter das letztere könnten mehrere fallen. 

Bei der ***File Spalte würde es reichen, wenn hier nur die tatsächliche Nummer steht: also „3962“ anstatt „ *** File "c:\USERS\USER\DOWNLOADS\THOMAS\THOMAS\020013.cha": line 3962“

Ich danke euch schon vorab für euer Schwarmwissen und freue mich auf eure Lösungsvorschläge.

Viele Grüße

Seepferdchen63


Angehängte Dateien
.xlsx   GO_Ausschnitt.xlsx (Größe: 9,61 KB / Downloads: 5)
Antworten Top
#2
Hallo,

ein Vorschlag:

Code:
sub F_en
rr = 1
for i = 1 to cells(rows.count, 1).end(xlup).row
    if left(cells(i,1), 5) = "-----" then rr = rr + 1
    if cells(i,1) = "*CHI:" then cells(rr, "L") = cells(i,2)
    if cells(i,1) = "%mor:" then cells(rr, "M") = cells(i,2)
    if left(cells(i, 1), 8) = "*** File" then cells(rr, "O") = mid(cells(i,1), 9)
    if instr(1, cells(i,1), "Strings matched") > 0 then cells(rr, "P") = mid(cells(i,1),19)
next i
end sub

Unter LibreOffice ist der Code nicht gelaufen, ich vermute aber das Excel das schafft.

mfg
[-] Folgende(r) 1 Nutzer sagt Danke an Fennek für diesen Beitrag:
  • Seepferdchen63
Antworten Top
#3
Wow, Fennek, Magic! Vielen Dank, dass du das so schnell lösen konntest. Keine Ahnung, wie du das geschafft hast. Es funktioniert schon fast. Allerdings gibt es noch einen kleinen kosmetischen Fehler: die Spalte "strings matched" stimmt zwar, aber gut wäre, wenn "d 4 times" steht, dass dann auch 4 Einträge darunter fallen und nicht die vier darüberliegenden Einträge dazugehören. Hättest du dafür noch eine Idee?


Angehängte Dateien Thumbnail(s)
   
Antworten Top
#4
Es ist für mich nicht ersichtlich, warum der letzte Wert 3 Zeilen höher eingetragen werden soll.

Hier mit Excel getestet und etwas verschönert:

Code:
Sub F_en()
rr = 1
For i = 1 To Cells(Rows.Count, 1).End(xlUp).Row
    If Left(Cells(i, 1), 5) = "-----" Then rr = rr + 1
    If Cells(i, 1) = "*CHI:" Then Cells(rr, "L") = Cells(i, 2)
    If Cells(i, 1) = "%mor:" Then Cells(rr, "M") = Cells(i, 2)
    If Left(Cells(i, 1), 8) = "*** File" Then Cells(rr, "O") = Mid(Cells(i, 1), 9)
    If InStr(1, Cells(i, 1), "Strings matched") > 0 Then Cells(rr, "P") = Mid(Cells(i, 1), 21)
Next i
End Sub
[-] Folgende(r) 1 Nutzer sagt Danke an Fennek für diesen Beitrag:
  • Seepferdchen63
Antworten Top


Gehe zu:


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