Umlaute umwandeln (ae, ue, oe)

Lern Video




Umlaute umwandeln, Groß-/Kleinschreibung wird berücksichtigt.
Hilfreich um Texte zu vereinheitlichen (data cleansing)

Excel Power Query

1 Tabelle mit zwei Spalten[FalscherWert], [RichtigerWert] erstellen und
als Namen [tbl_Falsch_Richtig] zuweisen sowie als Power Query (Arbeitsmappenabfrage, aus Tabelle) abbilden




Diese Auflistung kann bei Bedarf durch weitere Zeichen erweitert werden

Exkurs: 
alternativ kann das Table Objekt  direkt im Power Query Editor "on the scratch" angelegt werden

= #table({"FalscherWert","RichtigerWert"},{{"ö","oe"},{"ä","ae"},{"ü","ue"},{"ß","ss"}})


2 benutzerdefinierte Funktion implementieren (neue Arbeitsmappenabfrage, Name fxWerteErsetzen)

---- SCHNIPP ---

(text as text) =>
let

// Konvertiere übergebenen Feldinhalt (text) in eine Liste, getrennt durch Zeichen
// Aufruf fxWerteErsetzen([Feld])
    Table.FromList = Table.FromList(Text.ToList(text), Splitter.SplitByNothing(), null, null, ExtraValues.Error),

// Zusammenführen mit Tabelle "tbl_Falsch_Richtig"
    Merge = Table.Buffer(Table.NestedJoin(Table.FromList,{"Column1"},tbl_Falsch_Richtig,{"FalscherWert"},"KorrekturLISTE",JoinKind.LeftOuter)),
    Expand = Table.ExpandTableColumn(Merge, "KorrekturLISTE", {"FalscherWert", "RichtigerWert"}, {"FalscherWert", "RichtigerWert"}),

// Füge eine neue Spalte mit dem korrigierten Wert hinzu
    Added_Column_with_corrections = Table.AddColumn(Expand, "Benutzerdefiniert", each if [Column1]=[FalscherWert] then [RichtigerWert] else [Column1]),

// aufräumen
    Remove_Columns = Table.SelectColumns(Added_Column_with_corrections,{"Benutzerdefiniert"}),
    Convert_to_List = Remove_Columns[Benutzerdefiniert],
    Result = Text.Combine(Convert_to_List)
in
    Result

--- SCHNAPP ---

3 benutzerdefinierte Funktion hinzufügen, fxWerteErsetzen([Name])




siehe auch Ähnlichkeitsmaß

Excel VBA

Public Function Umlaut(S)
Dim I As Integer, Ch As String * 1, Ch1 As String * 1, _
    IsUpCase As Boolean, Res As String
  If IsNull(S) Then Umlaut = Null: Exit Function
  Res = ""
  For I = 1 To Len(S)
    Ch = Mid(S, I, 1)
    Ch1 = IIf(I < Len(S), Mid(S, I + 1, 1), " ")
    ' Nächstes Zeichen ist kein Kleinbuchstabe:
    IsUpCase = (Asc(Ch1) = Asc(UCase(Ch1)))
    Select Case Asc(Ch)
      Case Asc("Ä"): Res = Res & IIf(IsUpCase, "AE", "Ae")
      Case Asc("Ö"): Res = Res & IIf(IsUpCase, "OE", "Oe")
      Case Asc("Ü"): Res = Res & IIf(IsUpCase, "UE", "Ue")
      Case Asc("ä"): Res = Res & "ae"
      Case Asc("ö"): Res = Res & "oe"
      Case Asc("ü"): Res = Res & "ue"
      Case Asc("ß"): Res = Res & "ss"
      Case Else: Res = Res & Ch
    End Select
  Next I
  Umlaut = Res
End Function


nur Zeichen aus einem Text / String zurückgeben (benutzerdefinierte Funktion)

neue Arbeitsmappenabfrage erstellen und in
fxRemovePunc
umbenennen

--- SCHNIPP

(SourceText as text) as text =>
let
    CharsToInclude = List.Combine({{"A".."Z"},{"a".."z"},{" "}}),
    RemovePunc = Text.Select(SourceText, CharsToInclude)
in
    RemovePunc

--- SCHNAPP

Beispiel Excel Arbeitsmappe

Kommentare

Beliebte Posts aus diesem Blog

Vergleich mit 2 Bedingungen, INDEX(), VERGLEICH()

Dropdown Liste mit Mehrfachauswahl

nützliche Text Funktionen in Power Query