Ich habe eine Liste mit mehrsprachigen Berufsbezeichnungen in der weiblichen/männlichen bzw. neutralen Schreibweise.
Diese Berufsbezeichnungen sind alle nach drei unterschiedlichen Schemata aufgebaut bzw. durch ein / getrennt:
Französisch
A1 professeur en génie électrique et énergétique de la voie professionnelle/professeure en génie électrique et énergétique de la voie professionnelle
weiblich/männlich mit inhaltlich identischer Beschrebung
professeur bzw. professeure UND en génie électrique et énergétique de la voie professionnelle
A2 magasinier/magasinière
weiblich/männlich OHNE Beschrebung
A3 responsable de production aquacole
neutrale Schreibweise
Ich suche eine Lösung die aus A1:
professeur en génie électrique et énergétique de la voie professionnelle/professeure en génie électrique et énergétique de la voie professionnelle
folgendes macht:
professeure/professeur en génie électrique et énergétique de la voie professionnelle
Die Formel erkennt was "doppelt" ist, reduziert das Ganze auf eine Variante und packt den Teil /xxx bis zum ersten Leerzeichen als xxx/ vor den Anfang der ursprünglichen Beschreibung.
Wenn es wie bei A2 und A3 nichts doppeltes gibt ignoriert die Lösung dies.
Nachfolgend das Gleiche z.B. für:
Tschechisch
B1 učitel odborného výcviku v oboru elektro/učitelka odborného výcviku v oboru elektro B2 skladník/skladnice B3 vedoucí výroby v akvakultuře
Griechisch
C1 καθηγητής επαγγελματικής κατάρτισης στον ηλεκτρισμό και την ενέργεια/καθηγήτρια επαγγελματικής κατάρτισης στον ηλεκτρισμό και την ενέργειαα C2 εργάτης αποθήκης/εργάτρια αποθήκης C3 διευθυντής παραγωγής υδατοκαλλιέργειας/διευθύντρια παραγωγής υδατοκαλλιέργειας
oder Spanisch
D1 profesor de formación profesional en electricidad y energía/profesora de formación profesional en electricidad y energía D2 mozo de almacén/moza de almacén D3 director de producción en explotacion acuícola/directora de producción en explotacion acuícola
Hier sieht man das der tschechische Aufbau wie der französische drei Varianten hat, aber griechisch und spanisch alle nur eine Variante wie A1.
Die Lösung sollte also unabhängig von Sprache die doppelten wie bei A1 erkennen, reduzieren bzw. umbauen und falls doch anders ignorieren.
09.10.2019, 06:05 (Dieser Beitrag wurde zuletzt bearbeitet: 09.10.2019, 06:06 von Ego.)
Hallo Peter,
ich würde es als UDF (=user defined function) lösen. Hier und in der Anlage einmal ein erster Vorschlag:
Code:
Function Einmal(ByVal Ein As String) As String Dim I As Long Dim Arr1() As String Einmal = "" If Len(Ein) > 0 Then Arr1 = Split(Ein, "/") Einmal = Arr1(0) For I = 1 To UBound(Arr1) Einmal = Split(Arr1(I), " ")(0) & "/" & Einmal Next I End If End Function
Abweichend zu deiner Anfrage habe ich erst einmal auch im Fall A2 die Texte vertauscht, damit die Geschlechter immer in der gleichen Reihenfolge sind.
helmut
Für mich ist die Möglichkeit in Excel an Zellen und Bereichen Namen zu vergeben die wichtigste Funktionalität. Sie macht Formeln und den VBA-code verständlicher. Für Makros gilt die Regel: "Nur über benannte Bereiche auf den Inhalt der Zellen zugreifen." Und wofür sind Regeln da? Um nachzudenken bevor man sie bricht.
Folgende(r) 1 Nutzer sagt Danke an Ego für diesen Beitrag:1 Nutzer sagt Danke an Ego für diesen Beitrag 28 • PeterN
09.10.2019, 10:37 (Dieser Beitrag wurde zuletzt bearbeitet: 09.10.2019, 10:40 von Ego.)
Hallo Peter,
dann "Einmalkurz"
Code:
Function EinmalKurz(ByVal Ein As String) As String Dim I As Long Dim M As String Dim F As String Dim Arr1() As String Dim Arr2() As String EinmalKurz = "" If Len(Ein) > 0 Then Arr1 = Split(Ein, "/") If UBound(Arr1) > 0 Then Arr2 = Split(Arr1(0), " ", 2) M = Arr2(0) F = Split(Arr1(1), " ", 2)(0) If Len(F) > Len(M) Then If Left(F, Len(M)) = M Then F = Right(F, Len(F) - Len(M)) End If End If EinmalKurz = M & "/" & F If UBound(Arr2) > 0 Then EinmalKurz = EinmalKurz & " " & Arr2(1) End If
Else EinmalKurz = Arr1(0) End If End If End Function
In A2 und D2 stimmen die Ergebnisse nicht mit deinen überein. Hierfür benötige ich noch allgemeine Regeln, die, wenn sie auch auf andere Fälle angewandt werden, diese nichtbeeinflussen. Zur Zeit wird für die weibliche Form nur die Abkürzung genutzt, wenn diese nur an die männliche Form angehängt werden muss.
helmut
Für mich ist die Möglichkeit in Excel an Zellen und Bereichen Namen zu vergeben die wichtigste Funktionalität. Sie macht Formeln und den VBA-code verständlicher. Für Makros gilt die Regel: "Nur über benannte Bereiche auf den Inhalt der Zellen zugreifen." Und wofür sind Regeln da? Um nachzudenken bevor man sie bricht.
Folgende(r) 1 Nutzer sagt Danke an Ego für diesen Beitrag:1 Nutzer sagt Danke an Ego für diesen Beitrag 28 • PeterN
Bei A2 verstehe ich eventuell noch warum die Lösung nicht greift, da liegt es wahrscheinlich am "è" in magasinièr oder?
Bei D2 kann ich nicht nachvollziehen warum die Lösung nicht greift, weil "moz" als Basiswert ist doch wie "professor" in D1 oder "director" in D3 oder nicht?
Bei B2 sind es sogar zwei Buchstaben und die Griechen gehen auch.
Zitat:Zur Zeit wird für die weibliche Form nur die Abkürzung genutzt, wenn diese nur an die männliche Form angehängt werden muss.
Bei mozo ist dies nicht der Fall. Hier muss das "o" durch ein "a" ersetzt werden.
Wenn du mir hierfür -wie schon angefragt- eine allgemeine Regel angeben kannst, die andere Fälle nicht verfälscht, kann ich sie gerne einbauen.
helmut
Für mich ist die Möglichkeit in Excel an Zellen und Bereichen Namen zu vergeben die wichtigste Funktionalität. Sie macht Formeln und den VBA-code verständlicher. Für Makros gilt die Regel: "Nur über benannte Bereiche auf den Inhalt der Zellen zugreifen." Und wofür sind Regeln da? Um nachzudenken bevor man sie bricht.
in der Anlage einmal eine Beispielfunktion "EinmalKurz2", in der die weibliche Abkürzung an der Stelle beginnt, ab der die weibliche Bezeichnung von der männlichen Bezeichnung abweicht.
helmut
Für mich ist die Möglichkeit in Excel an Zellen und Bereichen Namen zu vergeben die wichtigste Funktionalität. Sie macht Formeln und den VBA-code verständlicher. Für Makros gilt die Regel: "Nur über benannte Bereiche auf den Inhalt der Zellen zugreifen." Und wofür sind Regeln da? Um nachzudenken bevor man sie bricht.
Folgende(r) 1 Nutzer sagt Danke an Ego für diesen Beitrag:1 Nutzer sagt Danke an Ego für diesen Beitrag 28 • PeterN
wie sollte das Ergebnis in diesen Fällen aussehen?
helmut
Für mich ist die Möglichkeit in Excel an Zellen und Bereichen Namen zu vergeben die wichtigste Funktionalität. Sie macht Formeln und den VBA-code verständlicher. Für Makros gilt die Regel: "Nur über benannte Bereiche auf den Inhalt der Zellen zugreifen." Und wofür sind Regeln da? Um nachzudenken bevor man sie bricht.
komercijalni direktor/komercijalna direktorica = komercijalni/a direktor/ica profesionalni pilot / profesionalna pilotkinjaaviona = profesionalni/a pilot/kinja aviona djelatnik/djelatnicaza zdravstvenu i socijalnu skrb u ustanovama = djelatnik/a za zdravstvenu i socijalnu skrb u ustanovama Administrativni i komercijalni direktori/administrativne i komercijalne direktorice = Administrativni/e i komercijalni/e direktori/ce
Der unterstrichene Bereich kommt nur EINMAL vor ...