Excel

Taller de Excel Intermedio Universidad ECOTEC 02-15-2020

Pueden descargar el archivo de práctica desde este link. Es un archivo tipo Zip. En el mismo vas a encontrar todos los archivos .csv para poder hacer realizar las prácticas necesarias de los dos días.

Descarga las diapositivas del curso

Primer Track

Empezamos con una breve introducción de cómo Excel ha ido evolucionando hasta el punto de convertirse en el software más usado por los usuarios. Pero que gracias a esta evolución a dado pie para la creación de una nueva (relativamente) herramienta llamada Power BI.

El análisis inteligente de datos es crucial para los negocios, y para las empresas, es por esta razón que hoy se vuelve indispensable estudiar aparte de Excel, herramientas como Power Query, Power Map y Power BI.

Función INDICE

Esta función devuelve el valor que se encuentra en la intersección de una fila y una columna. INDICE tiene dos sintaxis: matricial y de referencia. La sintaxis matricial, que es la que nos interesa para hacer una búsqueda es:

=INDICE(matriz; núm_fila; [núm_columna])

Función COINCIDIR

Coincidir sirve para encontrar el numero de la fila o columna donde se encuentra el dato que mandamos a buscar. Descargar el ejemplo desde aquí.

Segundo Track.

En la segunda parte comenzaremos usar las funciones de texto y de base de datos, como Concatenar, BuscarV, Coincidir, Indice, etc, las mismas que nos ayudarán a crear un origen de datos consistente.

Descarga la solución de los Ejercicios

Segundo Día de estudio

En nuestro segundo día de estudios lo dedicaremos a estudiar Power Pivot y demostrar con la administración de las relaciones, trabajamos directamente en los datos sin necesidad de conocer las funciones.

Estudiaremos Power Pivot

SOLVER en Excel

Si la idea es de realizar una situación futurística que involucra más de una variable, puedes utilizar Solver en Excel. Este complemento te ayudará a analizar escenarios de tu negocio con multiples opciones y restricciones.

Descarga el archivo de Ejemplo aqui.

Tenemos la siguiente situación: Un cliente tiene un local venta de panes que ofrece dos tipos de panes tradicionales, Pepperoni ($10) y Vegetariana ($15) además de la pizza especial Suprema ($20). Mi cliente no sabe cuánto son los ingresos del local y tampoco el manejo que se debería de dar a cada tipo de pan para aumentar las ventas.

Antes de nada, debemos revisar las condiciones. Dada la capacidad de producción del cliente, ya que solamente puede elaborar 150 panes al día. Otra condición es que no podemos exceder de 90 panes tradicionales (Pepperoni y Vegetariana) y además, al no haber muchos vegetarianos en la cuadra, se estima vender un máximo de 25 panes vegetarianos al día. Otra condición a considerar es que solamente podemos comprar los ingredientes necesarios para producir 60 panes Supremos por día.

Macros

En este apartado veremos algo sintetizado del poder que tiene las macros en Excel así como alguna desventaja de las mismas, este es el código de una de las funciones más necesitadas en excel, para el ejercicio se deberá copiar este texto dentro de un Módulo:

Código

Function NumLetras(Valor As Currency, Optional MonedaSingular As String = "", Optional MonedaPlural As String = "") As String
Dim Cantidad As Currency, Centavos As Currency, Digito As Byte, PrimerDigito As Byte, SegundoDigito As Byte, TercerDigito As Byte, Bloque As String, NumeroBloques As Byte, BloqueCero
Dim Unidades As Variant, Decenas As Variant, Centenas As Variant, I As Variant 'Si esta como Option Explicit
Dim ValorEntero As Long
Dim ValorOriginal As Double
    Valor = Round(Valor, 2)
    Cantidad = Int(Valor)
    ValorEntero = Cantidad
    Centavos = (Valor - Cantidad) * 100
    Unidades = Array("UN", "DOS", "TRES", "CUATRO", "CINCO", "SEIS", "SIETE", "OCHO", "NUEVE", "DIEZ", "ONCE", "DOCE", "TRECE", "CATORCE", "QUINCE", "DIECISEIS", "DIECISIETE", "DIECIOCHO", "DIECINUEVE", "VEINTE", "VEINTIUN", "VEINTIDOS", "VEINTITRES", "VEINTICUATRO", "VEINTICINCO", "VEINTISEIS", "VEINTISIETE", "VEINTIOCHO", "VEINTINUEVE")
    Decenas = Array("DIEZ", "VEINTE", "TREINTA", "CUARENTA", "CINCUENTA", "SESENTA", "SETENTA", "OCHENTA", "NOVENTA")
    Centenas = Array("CIENTO", "DOSCIENTOS", "TRESCIENTOS", "CUATROCIENTOS", "QUINIENTOS", "SEISCIENTOS", "SETECIENTOS", "OCHOCIENTOS", "NOVECIENTOS")
    NumeroBloques = 1
Do
    PrimerDigito = 0
    SegundoDigito = 0
    TercerDigito = 0
    Bloque = ""
    BloqueCero = 0
    For I = 1 To 3
        Digito = Cantidad Mod 10
        If Digito <> 0 Then
            Select Case I
            Case 1
                Bloque = " " & Unidades(Digito - 1)
                PrimerDigito = Digito
            Case 2
                If Digito <= 2 Then
                    Bloque = " " & Unidades((Digito * 10) + PrimerDigito - 1)
                Else
                    Bloque = " " & Decenas(Digito - 1) & IIf(PrimerDigito <> 0, " Y", Null) & Bloque
                End If
                SegundoDigito = Digito
            Case 3
                Bloque = " " & IIf(Digito = 1 And PrimerDigito = 0 And SegundoDigito = 0, "CIEN", Centenas(Digito - 1)) & Bloque
                TercerDigito = Digito
            End Select
        Else
            BloqueCero = BloqueCero + 1
        End If
        Cantidad = Int(Cantidad / 10)
        If Cantidad = 0 Then
            Exit For
        End If
    Next I
    Select Case NumeroBloques
        Case 1
            NumLetras = Bloque
        Case 2
            NumLetras = Bloque & IIf(BloqueCero = 3, Null, " MIL") & NumLetras
        Case 3
            NumLetras = Bloque & IIf(PrimerDigito = 1 And SegundoDigito = 0 And TercerDigito = 0, " MILLON", " MILLONES") & NumLetras
    End Select
    NumeroBloques = NumeroBloques + 1
Loop Until Cantidad = 0

'Millardos
If Valor >= 1000000000 Then
    Dim millardos As Currency
    Dim millarodsInt As Integer
    Dim letras_Millardos As String
    millarodsInt = Int(Valor / 1000000000)
    millardos = millarodsInt

    letras_Millardos = Replace(Trim(NumLetras(millardos)), "00/100", IIf(millarodsInt = 1, "MILLARDO", "MILLARDOS"))
    NumLetras = letras_Millardos & NumLetras
End If

NumLetras = Trim(NumLetras) & " " & Format(Str(Centavos), "00") & "/100 " & IIf(ValorEntero = 1, MonedaSingular, MonedaPlural)
End Function

David Mazzini

Soy David Ortega Mazzini

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *