¿cuáles son vuestras funciones personalizadas favoritas? - funcion CONTIENE

Durante muchos años he echado de menos este tipo de funciones en LibreOffice Calc, y me ha dado por buscar si es posible crear funciones propias mediante Macros, y he visto que sí. Así que con ayuda de una IA he hecho un módulo de macros dedicado a funciones personalizadas y en él he puesto:

REM  *****  BASIC  *****
Function CONTIENE(celda As String, texto As String) As Boolean
    ' Devuelve VERDADERO si "texto" está contenido en "celda"
    Dim pos As Long
    pos = InStr(LCase(celda), LCase(texto))
    
    If pos > 0 Then
        CONTIENE = True
    Else
        CONTIENE = False
    End If
End Function

Ahora ya puedo buscar si en una celda está contenido un texto o no de forma muy cómoda:

  • =SI(CONTIENE(A2;"texto contenido";"¡El texto está!";"El texto no está")
  • o con celdas, incluso: =SI(CONTIENE($C191;L$2);$D191;"") (si la celda C191 contiene el texto de la L2, muestra la celda D191, en caso contrario no muestres nada)

. ¿Qué funciones habéis personalizado?

Hola,
Creo que lo que hace esa función personalizada lo hacen varias funciones incluidas en Calc, por ejemplo ENCONTRAR o HALLAR.

ENCONTRAR(“Buscar texto”; “Texto” [; Posición])
HALLAR(“Buscar texto”; “Texto” [; Posición])

También la función EXP.REG() puede hacerlo.

Como ENCONTRAR() y HALLAR() devuelven un error si no encuentran el texto, lo mas cómodo es envolverlas con la función SI.ERROR()