Code Library

M · UDF

fnAddOrdinalSuffixFR

Adiciona o sufixo ordinal em francês: 1er/1re, 2e, 3e...

Categoria: TextoTipo: UDFVersão: v1.1Fonte: Paulo André Jesus — OfficeTuningAtualizado em: 25/09/2026
Documentação completa na Function Library →

Sintaxe

fnAddOrdinalSuffixFR(Numero as nullable number, optional Genero as nullable text) as nullable text

Argumentos

NomeTipoObrigatórioDescrição
Numeronullable numberSimNúmero.
Generonullable textNãoComeçando com F gera 1re; omitido ou outro valor gera 1er. Só o 1 muda com o gênero.

Retorno

nullable text

Código completo

let
    fnAddOrdinalSuffixFR = (Numero as nullable number, optional Genero as nullable text) as nullable text =>
        let
            // "F", "f" ou "Féminin" → feminino; omitido ou qualquer outro valor → masculino
            vFeminino = Text.Upper(Text.Start(Genero ?? "M", 1)) = "F",
            vSufixo = if Numero = 1 then (if vFeminino then "re" else "er") else "e"
        in
            if Numero = null then null else Text.From(Numero, "fr-FR") & vSufixo,

    Documentacao = [
        Documentation.Name = "fnAddOrdinalSuffixFR",
        Documentation.Description = "Adiciona o sufixo ordinal em francês: 1er/1re, 2e, 3e...",
        Documentation.LongDescription = "Recebe um número e, opcionalmente, o gênero. O número 1 recebe er (masculino) ou re (feminino, Genero começando com F); os demais recebem e. Numero null retorna null.",
        Documentation.Category = "Texto",
        Documentation.Author = "Paulo André Jesus",
        Documentation.Version = "1.1",
        Documentation.Examples = {
            [Description = "1 masculino", Code = "fnAddOrdinalSuffixFR(1)", Result = """1er"""],
            [Description = "1 feminino", Code = "fnAddOrdinalSuffixFR(1, ""F"")", Result = """1re"""],
            [Description = "Semana do ano", Code = "fnAddOrdinalSuffixFR(38, ""F"") & "" semaine""", Result = """38e semaine"""]
        }
    ]
in
    Value.ReplaceType(fnAddOrdinalSuffixFR, Value.ReplaceMetadata(Value.Type(fnAddOrdinalSuffixFR), Documentacao))

Exemplos

fnAddOrdinalSuffixFR(1)
// "1er"

fnAddOrdinalSuffixFR(1, "F")
// "1re"

fnAddOrdinalSuffixFR(38, "F") & " semaine"
// "38e semaine"

Dicas e observações

💡 Numero null retorna null.