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.

Mit Teilen einer Bezeichnung die ganze Bezeichnung auslesen
#1
Hallo,

Wenn steht in:

A1: Der Freisauerhof steht im Wald
A2: Der Bärbelsteiner Hof steht nicht im Wald

mit welchen Befehlen erreiche ich, daß steht in:
 
B1: Freisauerhof
B2: Bärbelsteiner Hof
 
Grüße und danke


Angel
Antworten Top
#2
=TEIL(A1;FINDEN(" ";A1)+1;FINDEN("steht";A1)-6)
Sucht nach dem ersten Leerzeichen und nach "steht" und gibt den Text dazwischen zurück

Gruß Holger
Antworten Top
#3
Hallo Holger,

vielen Dank. Für den konkreten Fall funktioniert das.

In der Realität geht es um Hofbezeichnungen in sehr unterschiedlichen Satzkonstellationen, wo der Begriff Hof in einem Wort integriert oder nachgestellt ist. Nach dem Hofnamen kommen unterschiedliche Zeichen - auch nicht immer ein Punkt wie im Beispeile unten.

Es müßte ein Befehl sein, der bei "hof" alle linksstehenden Zeichen berücksichtigt bis zum nächsten Leerzeichen und bei "Hof" nach dem nächsten linken Leerzeichen alle Leerzeichen bis zum nächsten Leerzeichen.

Ich weiß nicht ob das in einem Befehl funktioniert.

Grüße





A1: Details... Krehbiel, .... - Stock, Philipp / 1864-1946. - Erbleihbrief über den Donnersbergerhof. - Dr. Krehbiel ; Pfarrer Stock. - In: Nordpfälzer Geschichtsblätter. - 3 (1906), S. 75-77. - 1906. - 1906. -

A2: Details... Kampfmann, Lorenz / 1869-1956. - Vom Bärbelsteiner Hof. - In: Pirmasenser Geschichtsblätter. - 13, 1938. 25-28. 31-32. - 1938. - 1938. -

erwünschtes Ergebnis für B1, B2:

B1: Donnersbergerhof
B2: Bärbelsteiner Hof
Antworten Top
#4
Moin!
Eigentlich dachte ich, dass mich nichts mehr überrascht, was die Vergewaltigung einer Tabellenkalkulation angeht.
Ich gestehe, dass ich mich eines Besseren belehren lassen muss.
Wenn jetzt noch jemand herausbekommt, wie die Tochter der Magd heißt …

Kann man wenigstens ein Trennzeichen benennen, so dass Text in Spalten in Frage kommt?
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
#5
Hallo,

ungetestet:


Code:
'Text in Spalte A
sub OhneWorte()
for i = 1 to cells(rows.count, 1).end(xlup).row
    Tx = split(cells(i,1)
    for k = 0 to ubound(Tx)
        if left(Tx(k), 3 ) = "Hof" then cells(i,2) = Tx(k-1) & " " & Tx(k)
        if Tx(k) like "[a-zhof]" then cells(i,2) = Tx(k)
    next k
next i
end sub

mfg
Antworten Top
#6
Hi

Klassisch mit Teil und Suchen. Passt zumindest auf die zwei Beispiele.

____|_B|_C|________D________|

   1|94|80|Donnersbergerhof |
   2|63|48|Bärbelsteiner Hof|

B1    =SUCHEN("hof";A1;1)
C1    =KGRÖSSTE(((TEIL(A1;ZEILE(A1:INDEX(A:A;B1;));1)=" ")*ZEILE(A1:INDEX(A:A;B1;)));WENN(TEIL(A1;B1-1;1)=" ";2;1))   'mit CSE abschließen
D1    =TEIL(A1;C1+1;B1-C1+2)
Antworten Top
#7
kleine Korrertur:


Code:
sub OhneWorte()
for i = 1 to cells(rows.count, 1).end(xlup).row
   Tx = split(cells(i,1)
   for k = 0 to ubound(Tx)
       if left(Tx(k), 3 ) = "Hof" then cells(i,2) = Tx(k-1) & " " & Tx(k)
       if Tx(k) like "*[a-z]hof*" then cells(i,2) = Tx(k)
   next k
next i
end sub
Antworten Top
#8
Hallo,

ich habe es mit Hilfe des Textkonvertierungsassistent bewerkstelligt, daß jeweils der Hofname am Ende des Textes in der Zelle steht. Außerdem habe ich  die Sache vereinfacht und Bärbelsteiner Hof in Bärbelsteinerhof transferiert.


A1: Details... Kampfmann, Lorenz / 1869-1956. - Vom Bärbelsteinerhof
A2: Details... Weber, Franz / 1869-1956. - Das Rösselbrunnerhof

Es geht also nur noch darum, das letzte Wort in eine separate Zelle zu bugsieren, so daß steht in:

B1: Bärbelsteinerhof
B2: Rösselbrunnerhof

Dafür müßte es doch einen Befehel geben?

Gruß und Danke
Antworten Top
#9
(04.01.2018, 00:29)symbicort19 schrieb: Hallo,
...
Dafür müßte es doch einen Befehel geben?
Gruß und Danke

Hallo, ja... :

Arbeitsblatt mit dem Namen 'Tabelle1'
AB
1Details... Kampfmann, Lorenz / 1869-1956. - Vom BärbelsteinerhofBärbelsteinerhof
2Details... Weber, Franz / 1869-1956. - Das RösselbrunnerhofRösselbrunnerhof

ZelleFormel
B1=ERSETZEN(A1;1;VERWEIS(9^9;FINDEN(" ";A1;SPALTE(1:1)));"")
Verwendete Systemkomponenten: [Windows (32-bit) NT 6.01] MS Excel 2010
Diese Tabelle wurde mit Tab2Html (v2.6.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
#10
Hallo Jockel,

vielen Dank, es hat überwiegend funktioniert.

Teilweise war es anders u.z. aus mir nicht ersichtlichen Gründen:

Details... Kampfmann, Lorenz / 1869-1956 / Das Donnersbergerhof  >> funktioniert nicht

Details... Kampfmann, Lorenz / 1869-1956 / Das Rösselbrunnerhof  >> funktioniert

Grüße
Antworten Top


Gehe zu:


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