Excel Avanzado

Macros, Vba en Excel y muchos ejemplos de nuestro Curso de Excel Avanzado

Excel Avanzado

Función Mid para calificación crediticia

| 6 comentarios

La función Mid permite obtener un extracto de alguna palabra que haya sido predefinida como texto, es decir como string. La función mencionada opera de la siguiente manera:

Nota_crediticia

Para este ejemplo se quiere mostrar la calificación crediticia de un país en base a su crecimiento económico, por lo que el resultado debe hacer explicito que lo que se muestre en el cuadro de texto es la calificación y no otro indicador. Primero se define la variable como texto:

Dim resultado as String

Luego, se establece el extracto de la palabra que se quiere se muestre en el cuadro de mensaje, así:

resultado = Mid("Calificación", 1, 5)

  1. La palabra a resumir es Calificación,
  2. El valor de 1 implica el orden de la letra en la que se quiere comenzar a realizar la extracción,
  3. El valor de 5 implica el número de letras a extraer a partir del orden establecido en el paso anterior.

Con esto se busca que el cuadro de mensaje contenga la palabra "Calif"

Finalmente esa variable se incorpora en la opción select case:

Select Case region
Case "S"
If prom >= 5 Then MsgBox resultado & ":AA es atractivo para invertir" Else MsgBox resultado & ":CCC no invertir"
Case "A"
If prom >= 7 Then MsgBox resultado & ":AA es atractivo para invertir" Else MsgBox resultado & ":CCC no invertir"
Case "E"
If prom >= 3 Then MsgBox resulado & ":AA es atractivo para invertir" Else MsgBox resultado & ":CCC no invertir"

De esta manera el resultado que se obtiene es:

MSGBOX-30

 

Elaborado por Gino Beteta Vejarano

6 comentarios

  1. Si es muy interesante lo puedo utilizar para cortar palabras, tratare de darle algun uso efectivo en mi trabajo

  2. Me gusta esta función Mid y pienso que puede ser muy importante en el desglose del levantamiento de información tipo códigos, conformados de varios bloques de caracteres alfanuméricos contiguos, que tienen significados para ser tratados en el sistema en forma independiente, para conseguir resultados integrales. Por ejemplo en un hipotético programa estadístico deportivo cada ingreso podría ser: RJJAA (donde R es el resultado de la acción: g(ganó) ó p(perdió) // JJ es el número que identifica al jugador que realiza la acción // AA es la acción realizada por JJ )

  3. Esta función es muy útil también cuando se importa importa datos de una página web (detalle de boletas de pago, movimientos bancarios, etc.) a formato excel, puesto que muchas veces los números al importarse llegan como texto, ya que tienen un espacio antes del número; por lo que esta función ayuda a extraer solo los números. En ese caso suelo utilizar la siguiente formulación: MID(A1,2,LARGO(A1)-1) donde "A1" es la celda donde está ubicado el valor.

  4. Interesante funcion, util para el que desea invertir no solo en paises, también en regiones dentro de un pais. Seria de utilidad que tambien se pueda calcular otro indicador, si bien el crecimiento pormedio puede ser bueno con un tiempo de crecimiento muy menor, da indicios de una inversion muy arriesgada. El Beta puede se una buena sugerencia.

  5. Interesante ejemplo de la herramienta Select Case, no la veía desde mi primer ciclo en la universidad.

  6. Me parece que esta función de excel es muy util, sobre todo si la combinamos con otras funciones existentes.Imaginemos que queremos crear un codigo especial con las 3 primeras letras de una marca y concatenarlo con el año de fabricación.Para ello deberiamos de utilizar la función mid, ya que a traves de esta versatil función podremos extraer las letras que queramos de la marca. A continuacion muestro el codigo del ejemplo que he recreado.

    Sub codigo()
    Dim marca As String
    Dim año As Integer
    Dim codigo As String
    Dim marca1 As String
    Dim año1 As Byte

    marca = Range("B2")
    año = Range("c2")
    marca1 = Mid(marca, 1, 3)
    año1 = Right(año, 2)
    codigo = marca1 & "/" & año1
    Range("d2") = codigo

    End Sub

Deja una respuesta

Los campos requeridos estan marcados con *.