La función SI es una de las funciones más importantes y utilizadas de Excel. La cual permite realizar comparaciones lógicas entre un valor y un resultado que espera.
La forma en la que funciona es la siguiente: ¿El valor consultado es idéntico al valor esperado? Solo si esta consulta es cierta, puede ocurrir un evento determinado. Si la comparación es incorrecta se desencadena otra acción.
Sintaxis de la función SI
El comando para la utilización de la "Función SI" es el siguiente:
=SI(Prueba_logica; Valor_si_verdadero; Valor_si_falso)
Como se puede observar, la función contiene tres parámetros, los cuales se deben de completar para el correcto funcionamiento.
• Prueba lógica: Es cualquier valor o expresión que pueda evaluarse como VERDADERO o FALSO. Lo mas frecuente es emplear operadores de comparación para obtener el verdadero o falso.
• Valor si verdadero: Es el valor que se devolverá si "Prueba_lógica" es VERDAERO. Los resultados pueden ser valores, cadenas, referencias de celdas u otras funciones. (Se debe poner las cadenas entre comillas). De omitir un resultado, este será “VERDADERO”.
• Valor_si_falso: Es el valor que se devolverá si "Prueba_lógica" es FALSO. Los resultados pueden ser valores, cadenas, referencias de celdas u otras funciones. (Se debe poner las cadenas entre comillas). De omitir un resultado, este será “FALSO”.
Para ver la descripción completa de esta función puedes visitar: Función Si en Excel
También es posible que te sirvan otras funciones similares: Funciones Lógicas en Excel
Función SI con VBA
No existe un Worksheetfunction correspondiente, en verdad no es necesario, ya que se cuenta con el bucle IF THEN ELSE.
En donde:
IF: Es la condición que se desea afirmar.
ELSEIF: Permite ingresar una segunda condición.
THEN: Es el comando que permite establecer una acción a ejecutar de ser "VERDADERA" la condición especificada en el "IF".
ELSE: Es opcional que se ejecutaría solo si la parte anterior no se cumple y se requiere añadir alguna otra condición.
END IF: Es el comando utilizado en Visual Basic que “informa” que ya finalizo la condición.
Ejemplo de la Función Si en Excel
A continuación, se mostrará la sintaxis de algunos ejemplos:
En la siguiente imagen se puede observar una base de datos con diversa información personal.
Lo que se busca es utilizar la "FUNCION SI" en la fila "NACIONALIDAD" y luego en el campo "MAYOR DE EDAD" para que cuando se cumplan ciertos requisitos, muestre el resultado que deseamos.
Para ello, nos posicionamos en la celda en la que queremos formular y escribimos:
=SI(E4="PERU","Nativo","Extranjero")
Argumentos de la Función SI
• Prueba lógica: E4 = "PERU". Esto debido a que queremos saber si en la fila "E6" dice "PERU"
• Valor si verdadero: "Nativo". De ser verdadera la afirmación inicial queremos que aparezca la palabra nativo en la celda seleccionada.
• Valor si falso: "Extranjero". De ser negativa la afirmación inicial queremos que aparezca la palabra extranjero en la celda seleccionada.
Para finalizar con la "NACIONALIDAD", arrastramos la formula hasta la última fila de nuestra base de datos. Y tenemos nuestro trabajo culminado.
Para el caso de la columna "MAYOR DE EDAD" se debe emplear:
=SI(F4>=18,"SI","NO")
• Prueba lógica: F4 >= 18. Esto debido a que queremos saber si en las edades que se encuentran en la fila “F4” es >= a “18”.
• Valor si verdadero: "Si". De ser verdadera la afirmación inicial queremos que aparezca la palabra nativo en la celda seleccionada.
• Valor si falso: "No". De ser negativa la afirmación inicial queremos que aparezca la palabra extranjero en la celda seleccionada.
Para finalizar , arrastramos la formula desarrollada en la celda “H4” hasta la última fila.
Función SI con VBA
Ahora se explicará el mismo ejemplo, pero utilizando macros .
Procederemos a abrir el Visual Basic para empezar a ingresar las variables y los argumentos de la función para diferenciar a los “Nativos” de “Extranjeros”.
Se especifican las variables y sus tipos:
• ULT: Se identifica la última fila en VBA, con datos en la columna “6” o “NACIONALIDAD”. Para el correcto funcionamiento, se le debe asignar a la variable la denominación “As Long”.
• CONTADOR: La variable “contador” es una abreviación del comando que tendríamos que escribir para definir desde que fila queremos que los nuevos datos se integren al Excel. De igual manera, se le asigna el tipo de “As Long”
• NACIONALIDAD: Al igual que la variable anterior, es una abreviación del código y expresa todas las nacionalidades que se encuentran a partir de la fila 8 de la columna 6. Al ser una variable en formato texto se le asigna como “As String”
Luego de tener las variables y las abreviaturas se procede a ingresar el bucle condicional IF
El comando “IF” nos permite crear la afirmación o condición. En este caso, la condición es Si en alguna de las filas de la columna “PAIS” dice “PERU”. De ser esto verdadero, el comando “THEN” debería ingresar la palabra “NATIVO” en la columna “NACIONALIDAD”. De lo contrario el comando “ELSE” entraría en acción y ingresaría la palabra “EXTRANJERO” en la columna “NACIONALIDAD”
Del mismo modo se realiza el código para determinar si una persona es “MAYOR DE EDAD”.
Finalmente, se creará una MacrosFinal que nos permitirá invocar a las dos macros creadas anteriormente desde un botón en la hoja de cálculo. Para ello, nos dirigiremos al final de nuestro Visual Basic e ingresaremos el siguiente código:
Adicionalmente podemos agregar un botón.
Descargar los ejemplos mostrados previamente: Función SI en Excel - Ejemplos
Creado con el apoyo de: Miguel Negrete