Code Library

M · UDF

fnAddOrdinalSuffixPT

Adiciona o indicador ordinal em português: º (masculino) ou ª (feminino).

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

Sintaxe

fnAddOrdinalSuffixPT(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 (F, f, Feminino) gera ª; omitido ou outro valor gera º.

Retorno

nullable text

Código completo

let
    fnAddOrdinalSuffixPT = (Numero as nullable number, optional Genero as nullable text) as nullable text =>
        let
            // "F", "f" ou "Feminino" → ª; omitido ou qualquer outro valor → º
            vSufixo = if Text.Upper(Text.Start(Genero ?? "M", 1)) = "F" then "ª" else "º"
        in
            if Numero = null then null else Text.From(Numero, "pt-BR") & vSufixo,

    Documentacao = [
        Documentation.Name = "fnAddOrdinalSuffixPT",
        Documentation.Description = "Adiciona o indicador ordinal em português: º (masculino) ou ª (feminino).",
        Documentation.LongDescription = "Recebe um número e, opcionalmente, o gênero. Genero começando com F (F, f, Feminino) gera ª; omitido ou outro valor gera º. Numero null retorna null.",
        Documentation.Category = "Texto",
        Documentation.Author = "Paulo André Jesus",
        Documentation.Version = "1.1",
        Documentation.Examples = {
            [Description = "Masculino (padrão)", Code = "fnAddOrdinalSuffixPT(2)", Result = """2º"""],
            [Description = "Feminino", Code = "fnAddOrdinalSuffixPT(15, ""F"")", Result = """15ª"""],
            [Description = "Semana do ano", Code = "fnAddOrdinalSuffixPT(38, ""F"") & "" semana""", Result = """38ª semana"""]
        }
    ]
in
    Value.ReplaceType(fnAddOrdinalSuffixPT, Value.ReplaceMetadata(Value.Type(fnAddOrdinalSuffixPT), Documentacao))

Exemplos

fnAddOrdinalSuffixPT(2)
// "2º"

fnAddOrdinalSuffixPT(38, "F") & " semana"
// "38ª semana"

Dicas e observações

💡 Numero null retorna null.