🚀The world's best VBA AI has evolved. ExcelMaster is now an autonomous Agent.Read more →

Excel AI Blog: VBA Tutorials, Formula Tips & Automation Guides

Expert guides on Excel formulas, VBA automation, data processing, and AI-powered productivity. Learn to master Excel with AI.

VBA DoEvents en Excel — evita que Excel se quede en «No responde» (y por qué deja que tu macro corra dos veces)

VBA DoEvents en Excel — evita que Excel se quede en «No responde» (y por qué deja que tu macro corra dos veces)

DoEvents pausa tu macro por un instante y deja que Excel procese los clics, las pulsaciones de teclas y los repintados que se amontonaron mientras corría tu código, que es lo que evita que la ventana se ponga gris en «No responde» y lo que hace posible un botón de cancelar que funcione. Pero la misma cesión que mantiene vivo a Excel también le devuelve el control al usuario a mitad de macro, así que puede pulsar el mismo botón otra vez y arrancar una segunda copia de tu macro dentro de la primera. Esa reentrada, no el rendimiento, es el verdadero peligro. Aprende dónde colocar DoEvents, cómo protegerte de la reentrada con un flag de ejecución, por qué debes moderar su frecuencia, y por qué no es multihilo.

Henry
VBA StatusBar en Excel — muestra el progreso de la macro sin un UserForm (y el mensaje que se queda pegado para siempre)

VBA StatusBar en Excel — muestra el progreso de la macro sin un UserForm (y el mensaje que se queda pegado para siempre)

Application.StatusBar te deja escribir tu propio texto en la barra a lo largo de la parte inferior de la ventana de Excel, que es la forma más ligera de mostrar el progreso de una macro en marcha, sin UserForm y sin parpadeo. La única línea que todo el mundo olvida es la de restablecer. El último texto que escribiste se queda ahí clavado después de que la macro termina, porque Excel no recupera la barra hasta que pones Application.StatusBar igual a False. Y no se actualizará de forma visible dentro de un bucle apretado a menos que Excel tenga un momento para repintar, que es donde entra DoEvents. Aprende el patrón de escribir y restablecer, por qué False gana a una cadena vacía, el modismo del porcentaje de progreso, y cuándo una barra de progreso de verdad vale el trabajo extra.

Henry
VBA DisplayAlerts en Excel — silencia los avisos de confirmación de las macros desatendidas (y por qué auto-confirma las peligrosas)

VBA DisplayAlerts en Excel — silencia los avisos de confirmación de las macros desatendidas (y por qué auto-confirma las peligrosas)

Application.DisplayAlerts igual a False le dice a Excel que deje de mostrar sus cuadros de confirmación y advertencia mientras corre tu macro, para que una macro desatendida no se quede parada esperando a que alguien pulse Aceptar. Pero no silencia el aviso tanto como lo responde por ti con la respuesta por defecto de Excel, y ante avisos como borrar esta hoja o sobrescribir este archivo, la respuesta por defecto es que sí. Se restablece solo a True cuando la macro termina, así que la verdadera trampa no es dejarlo apagado para siempre sino silenciar un aviso que te estaba protegiendo. Aprende dónde ayuda, la regla de la ventana estrecha, por qué no es lo mismo que el manejo de errores, y cómo se empareja con ScreenUpdating y Calculation.

Henry
VBA ScreenUpdating en Excel — detén el parpadeo y acelera tus macros (y por qué no arreglará una lenta)

VBA ScreenUpdating en Excel — detén el parpadeo y acelera tus macros (y por qué no arreglará una lenta)

Application.ScreenUpdating igual a False le dice a Excel que deje de repintar la pantalla mientras corre tu macro y la redibuje una sola vez al final, lo que elimina el parpadeo y da una mejora de velocidad modesta. Pero solo ayuda cuando tu código escribe, selecciona o se desplaza — pégalo a una macro limitada por el cálculo y no ganas nada. La regla que te salva es que un fallo puede dejar la pantalla congelada y gris, así que la restauras en un manejador de errores, nunca confiando en que se reinicie sola. Aprende dónde ayuda, dónde no, la trampa de parpadeo del restaurado anidado, y el patrón CleanExit que la empareja con Calculation y EnableEvents.

Henry
VBA Calculation en Excel — pon el cálculo en Manual para ganar velocidad (y la trampa silenciosa de dejarlo así)

VBA Calculation en Excel — pon el cálculo en Manual para ganar velocidad (y la trampa silenciosa de dejarlo así)

Application.Calculation igual a xlCalculationManual le dice a Excel que deje de recalcular tras cada escritura y lo aplace todo a una sola pasada, que es la mejora de velocidad de verdad en libros cargados de fórmulas. Pero es el interruptor más peligroso de VBA porque su fallo es silencioso — déjalo en Manual y las fórmulas dejan de actualizarse sin ninguna señal visible, así que los totales quedan obsoletos y nadie se da cuenta. La regla que te salva es guardar el estado de cálculo, forzar un recálculo con Application.Calculate cuando un paso posterior necesita un resultado, y restaurar el estado guardado en un manejador de errores en vez de fijar Automatic a lo bruto. Aprende las trampas del modo manual, el error 1004 cuando no hay ningún libro abierto, y el patrón CleanExit.

Henry
VBA EnableEvents en Excel — evita que tu macro dispare sus propios eventos (y por qué un fallo los deja muertos)

VBA EnableEvents en Excel — evita que tu macro dispare sus propios eventos (y por qué un fallo los deja muertos)

Application.EnableEvents igual a False impide que las escrituras de tu macro disparen manejadores de eventos como Worksheet_Change, que es lo que rompe el bucle infinito donde un manejador edita una celda y se vuelve a disparar a sí mismo. Es un interruptor de corrección, no de velocidad. La regla que te salva es que EnableEvents es una propiedad a nivel de aplicación que no se reinicia sola, así que un fallo con ella en False deja muertos todos los eventos de todos los libros abiertos hasta que reinicies Excel — que es por lo que la gente reporta que sus botones dejaron de funcionar. Aprende el arreglo del Worksheet_Change recursivo, el restaurado con CleanExit, y por qué este interruptor importa aún más que los otros.

Henry
VBA SpecialCells en Excel — seleccionar celdas en blanco, visibles y constantes (y por qué lanza un error cuando no encuentra ninguna)

VBA SpecialCells en Excel — seleccionar celdas en blanco, visibles y constantes (y por qué lanza un error cuando no encuentra ninguna)

SpecialCells deja que Excel elija las celdas por ti según su tipo en lugar de por su dirección — todas las celdas en blanco, todas las filas visibles, todas las fórmulas, todas las constantes. Es el gemelo en código de Ir a Especial. La regla que te salva es que SpecialCells lanza error 1004 cuando no encuentra absolutamente nada, así que una llamada a secas es una bomba de relojería; la forma madura siempre es On Error Resume Next más If Not resultado Is Nothing. Aprende los tipos de celda que importan, los patrones para rellenar celdas en blanco y para copiar solo las filas visibles, y por qué el resultado es una referencia de múltiples áreas.

Henry
VBA Union en Excel — combinar rangos no adyacentes en una sola referencia (y por qué no elimina duplicados)

VBA Union en Excel — combinar rangos no adyacentes en una sola referencia (y por qué no elimina duplicados)

Union pega rectángulos dispersos en una sola referencia para que puedas dar color, borrar o copiar varios bloques no adyacentes en una sola operación — la versión en código de hacer Ctrl+clic en varias áreas. La regla que hace tropezar a todo el mundo es que Union concatena, no elimina duplicados; las celdas solapadas se cuentan dos veces, así que .Count miente y Union es una lista por lotes, no una unión de conjuntos. Aprende el patrón de acumulación que evita el error de hacer Union de Nothing, por qué es una operación por referencia en vez de un bucle celda a celda, y en qué se diferencia Union de Intersect.

Henry
VBA Intersect en Excel — encuentra dónde se solapan dos rangos (y la guarda de Worksheet_Change que todo el mundo usa)

VBA Intersect en Excel — encuentra dónde se solapan dos rangos (y la guarda de Worksheet_Change que todo el mundo usa)

Intersect devuelve solo las celdas que dos rangos comparten, y devuelve Nothing cuando no se tocan — y ese Nothing es justo lo importante. Su uso número uno es la guarda de Worksheet_Change, If Not Intersect(Target, Range) Is Nothing, que evita que un evento se dispare en cada edición de la hoja. La regla que te salva es que sin solapamiento se devuelve Nothing, así que cualquier acceso a una propiedad sin comprobar Is Nothing falla con error 91. Aprende la guarda de evento completa con EnableEvents, cómo acotar una macro a un área concreta, y en qué se diferencia Intersect de Union.

Henry
VBA Cells frente a Range en Excel — referenciar celdas por número (y por qué Cells(1, 2) es B1, no A2)

VBA Cells frente a Range en Excel — referenciar celdas por número (y por qué Cells(1, 2) es B1, no A2)

Cells es Range direccionado por número. Range(A1) apunta a una celda con una cadena en el orden en que la lees, letra de columna y luego fila; Cells(fila, columna) apunta a una celda con dos enteros en el orden en que Excel la guarda, primero la fila y luego la columna. Por eso Cells(1, 2) es B1, no A2. Aprende cuándo usar Cells frente a Range, cómo construir un bloque a partir de esquinas calculadas con Range(Cells, Cells) y por qué conviene cualificar Cells con una hoja.

Henry
VBA Resize en Excel — redimensionar un rango desde su ancla (y por qué es un recuento, no un incremento)

VBA Resize en Excel — redimensionar un rango desde su ancla (y por qué es un recuento, no un incremento)

Resize fija el ancla superior izquierda de un rango y vuelve a dibujar el rectángulo con un tamaño nuevo. No mueve la referencia como hace Offset y no selecciona nada — devuelve un rango nuevo que empieza en la misma esquina. La regla que pilla a todos es que Resize(rows, columns) es un recuento absoluto, con base 1, del tamaño final, no un incremento que sumar, así que Range(A1).Resize(5, 3) es A1:C5 y Resize(0) lanza el error 1004. Aprende a omitir un argumento para dejar una dimensión sin tocar, por qué el ancla es siempre la superior izquierda y los dos patrones que valen la pena — quitar un encabezado con Offset más Resize y escribir una matriz en un bloque que la ajuste.

Henry
VBA CurrentRegion en Excel — toma todo el bloque de datos en una línea (y qué le hace una fila en blanco)

VBA CurrentRegion en Excel — toma todo el bloque de datos en una línea (y qué le hace una fila en blanco)

CurrentRegion es el bloque contiguo de celdas alrededor de una celda. Excel empieza en tu celda y se expande hacia afuera hasta topar con una fila totalmente en blanco y una columna totalmente en blanco, y devuelve el rectángulo más pequeño que encierra esa isla ininterrumpida — justo lo que selecciona Ctrl+Mayús+asterisco. Tú no calculas los bordes; Excel los encuentra. La trampa es que una sola fila o columna totalmente en blanco es un muro que parte el bloque sin avisar, así que obtienes la mitad de tus datos sin ningún error. Aprende por qué CurrentRegion incluye el encabezado y cómo quitarlo con Offset y Resize, en qué se diferencia de UsedRange y de End(xlUp), y cuándo usar en su lugar una Tabla de verdad.

Henry
VBA Borders en Excel — dibuja bordes de celda desde código (y por qué se encuadró todo el bloque)

VBA Borders en Excel — dibuja bordes de celda desde código (y por qué se encuadró todo el bloque)

Un borde en Excel VBA es una propiedad de una arista, no un interruptor de la celda. Un rango tiene ocho bordes direccionables — cuatro lados exteriores, dos juegos de líneas de cuadrícula interiores y dos diagonales — y la colección Range.Borders a secas significa todos ellos a la vez. Por eso Range.Borders.LineStyle = xlContinuous encuadra cada una de las celdas en vez de dibujar un solo contorno. Aprende cuándo usar BorderAround para solo el marco, cómo se combinan LineStyle, Weight y Color, cómo fijar un único lado con xlEdgeBottom, y cómo borrar los bordes con xlLineStyleNone.

Henry
VBA Merge Cells en Excel — combinar y separar celdas desde código (y por qué normalmente no deberías)

VBA Merge Cells en Excel — combinar y separar celdas desde código (y por qué normalmente no deberías)

Combinar celdas en Excel VBA no es formato — es un cambio estructural de la cuadrícula. Range(A1:C1).Merge funde tres celdas en una que abarca tres columnas, y solo sobrevive el valor de arriba a la izquierda mientras los demás se borran. Por eso las celdas combinadas rompen en silencio la ordenación, la aritmética con Range, la inserción de columnas y los bucles. Aprende Merge, UnMerge, MergeCells y MergeArea, por qué los expertos echan mano de Centrar en la selección en su lugar, y cómo encontrar y limpiar celdas combinadas de forma segura en código.

Henry
VBA Column Width y Row Height en Excel — redimensionar y AutoFit desde código (y las unidades que te hacen tropezar)

VBA Column Width y Row Height en Excel — redimensionar y AutoFit desde código (y las unidades que te hacen tropezar)

Dimensionar celdas en Excel VBA actúa sobre la columna o la fila entera, y las dos dimensiones usan unidades distintas — ColumnWidth se mide en caracteres de la fuente Normal, RowHeight se mide en puntos. Ese desajuste es la razón de que un ancho de 10 y un alto de 10 no se parezcan en nada. AutoFit es la otra trampa. Solo se ejecuta sobre una columna o una fila entera, y mide el texto mostrado, así que ignora en silencio las celdas combinadas. Aprende ColumnWidth frente al Width de solo lectura, RowHeight y el ajuste de texto, EntireColumn.AutoFit, y por qué poner el ancho a cero es la forma equivocada de ocultar una columna.

Henry
VBA Font en Excel — cómo dar color, negrita y tamaño desde código (y la trampa de ColorIndex)

VBA Font en Excel — cómo dar color, negrita y tamaño desde código (y la trampa de ColorIndex)

El objeto Font es la capa de texto de una celda en Excel VBA — color, negrita, cursiva, tamaño y nombre, y nada de eso toca el valor que hay debajo. La pega está en el color. Hay tres formas de fijarlo y usan espacios numéricos distintos. Range.Font.Color toma un número RGB de 24 bits, Range.Font.ColorIndex toma un índice de paleta de 1 a 56, y los dos no son intercambiables. Aprende cuál usar, cómo poner en negrita o cambiar el tamaño de parte de una celda con Characters, por qué colorear según el valor es cosa del Formato condicional, y cómo leer de vuelta un color de fuente sin llevarte el número equivocado.

Henry
VBA Color de celda en Excel — cómo poner el relleno de fondo desde código (y por qué el color no es dato)

VBA Color de celda en Excel — cómo poner el relleno de fondo desde código (y por qué el color no es dato)

Range.Interior es la capa de relleno de una celda en Excel VBA — la pintura que hay detrás del texto. Fíjalo con Interior.Color y RGB, bórralo poniendo Interior.ColorIndex a xlNone, y ten claro que un relleno blanco no es lo mismo que sin relleno. La idea de fondo es que una celda con color no lleva ningún dato. SUM y SUMIF la ignoran, así que si usas el color para categorizar estás escondiendo información donde las fórmulas no la pueden leer. Aprende las propiedades de color, cómo resaltar por condición sin un bucle que se queda obsoleto, y cómo rellenar muchos rangos rápido.

Henry
VBA NumberFormat en Excel — cambia cómo se muestra un número sin cambiar su valor

VBA NumberFormat en Excel — cambia cómo se muestra un número sin cambiar su valor

Range.NumberFormat es la capa de visualización de una celda en Excel VBA. Cambia cómo se lee en pantalla un número guardado y nunca cambia el número en sí, así que formatear una celda para que muestre 5 mientras contiene 5.4999 no es redondear y la suma sigue usando 5.4999. Aquí es donde la apariencia frente al valor te muerde de verdad, porque una fecha en realidad es un número de serie disfrazado. Aprende el lenguaje de los códigos de formato, en qué se diferencia NumberFormat de la función Format, la trampa de configuración regional con NumberFormatLocal, y cuándo necesitas Round en su lugar.

Henry
VBA WorksheetFunction en Excel — llama a las propias funciones de Excel desde código (y las dos formas en que fallan)

VBA WorksheetFunction en Excel — llama a las propias funciones de Excel desde código (y las dos formas en que fallan)

Application.WorksheetFunction permite a VBA tomar prestadas las más de 450 funciones integradas de Excel en lugar de reescribir SUM, VLOOKUP o COUNTIF como un bucle. El truco es que hay dos formas de llamarlas y fallan de manera distinta. WorksheetFunction.X lanza un error de ejecución cuando no hay coincidencia, mientras que Application.X devuelve un valor de error que compruebas con IsError. Aprende qué estilo de llamada usar, por qué el resultado debe ser un Variant, qué funciones no deberías llamar así y cuándo pasar un rango entero en vez de recorrer celda a celda.

Henry
VBA eliminar duplicados en Excel — desduplica en una línea (y por qué elimina sin deshacer)

VBA eliminar duplicados en Excel — desduplica en una línea (y por qué elimina sin deshacer)

Range.RemoveDuplicates es el botón Quitar duplicados de Excel en una sola línea de código, pero es destructivo de formas en que un bucle no lo es. Elimina filas en su sitio, conserva la primera aparición y no se puede deshacer después de que una macro se ejecuta. El argumento que hace tropezar a todos es Columns, cuyos números son desfases dentro del rango, no letras de columna de la hoja. Aprende la trampa del desfase del rango, por qué importa Header xlYes, cómo conservar la última fila en lugar de la primera, y cuándo recurrir a Filtro avanzado o a un Dictionary.

Henry
VBA Filtro avanzado en Excel — extrae valores únicos y filtra a un rango nuevo (sin un bucle)

VBA Filtro avanzado en Excel — extrae valores únicos y filtra a un rango nuevo (sin un bucle)

Range.AdvancedFilter es el único filtro que produce datos en lugar de una vista. Puede sacar una lista única o un conjunto de filas que cumplen un criterio a otra ubicación en una sola llamada, sin un bucle y sin eliminar nada. La parte que resulta extraña es que su cláusula WHERE vive en celdas, un rango de criterios cuya cabecera debe coincidir con los datos exactamente. Aprende xlFilterInPlace frente a xlFilterCopy, cómo funciona el rango de criterios, cómo Unique True desduplica sin destruir, la trampa de la coincidencia de cabeceras que devuelve una salida vacía, y en qué se diferencia de AutoFilter y Quitar duplicados.

Henry
VBA Find en Excel — buscar celdas de la forma correcta (devuelve un Range, no una posición)

VBA Find en Excel — buscar celdas de la forma correcta (devuelve un Range, no una posición)

El método Range.Find de VBA es el Ctrl+F de Excel para código, y hace tropezar a la gente porque devuelve un objeto Range (o Nothing cuando no hay coincidencia) en lugar de un número. Aprende la única comprobación que evita el fallo del error 91, la trampa de los argumentos pegajosos que hace que Find se comporte distinto en cada ejecución, cómo LookAt xlWhole frente a xlPart decide entre celda completa y contiene, y cómo recorrer FindNext para obtener cada coincidencia sin un bucle infinito.

Henry
VBA AutoFilter en Excel — filtrar filas en código (y por qué oculto no es eliminado)

VBA AutoFilter en Excel — filtrar filas en código (y por qué oculto no es eliminado)

El método AutoFilter de VBA filtra una tabla en código, pero las filas que oculta siguen ahí — siguen contando en SUM, se siguen copiando y siguen ocupando tu rango. Aprende el modelo mental que evita los errores clásicos, por qué debes pasar por SpecialCells xlCellTypeVisible para tocar solo las filas visibles, cómo funcionan los criterios y los operadores, la trampa del interruptor que apaga tu filtro en la segunda ejecución y el rápido patrón de filtrar y luego eliminar para quitar filas en masa.

Henry
VBA Sort en Excel — Range.Sort frente al objeto Sort (y cómo recuperar el orden original)

VBA Sort en Excel — Range.Sort frente al objeto Sort (y cómo recuperar el orden original)

Ordenar en VBA es una reordenación permanente sin Ctrl+Z, así que la primera regla es proteger el orden original antes de tocarlo. Aprende el modelo mental que separa una vista de una mutación, por qué Header xlYes importa o tus títulos acaban entre los datos, la diferencia entre el rápido Range.Sort y el ilimitado objeto Sort, la trampa de SortFields.Clear que hereda claves de ordenación antiguas, y por qué los números guardados como texto se ordenan en el orden equivocado.

Henry
VBA eliminar filas en Excel — eliminar filas, filas en blanco y filas por condición (¡recorre el bucle hacia atrás!)

VBA eliminar filas en Excel — eliminar filas, filas en blanco y filas por condición (¡recorre el bucle hacia atrás!)

Eliminar una fila en VBA es una edición estructural, no un borrado —cada fila de debajo sube para tapar el hueco, y por eso un bucle hacia delante se salta filas. Aprende la única regla que lo arregla (recorrer de abajo arriba, o eliminar con una sola Union), en qué se diferencia EntireRow.Delete de vaciar una celda, la forma rápida de quitar filas en blanco y cómo eliminar filas por condición sin corromper tus datos ni tus fórmulas de referencia.

Henry
VBA insertar filas y columnas en Excel — desplaza la cuadrícula en la dirección correcta (e inserta en un bucle sin caos)

VBA insertar filas y columnas en Excel — desplaza la cuadrícula en la dirección correcta (e inserta en un bucle sin caos)

Insertar es el reflejo de eliminar —empuja las filas existentes hacia abajo (o las columnas a la derecha) para hacer sitio, así que el mismo desplazamiento que rompe un bucle de eliminación rompe también uno de inserción. Aprende EntireRow.Insert frente a un rango parcial con el argumento Shift, por qué CopyOrigin decide de qué vecino hereda el formato la nueva fila, la dirección segura para insertar dentro de un bucle y la forma de añadir muchas filas de una sola llamada.

Henry
VBA ocultar columnas y filas en Excel — ocultar no es eliminar (y por qué tus totales no cambian)

VBA ocultar columnas y filas en Excel — ocultar no es eliminar (y por qué tus totales no cambian)

Ocultar una columna en VBA no es eliminarla ni filtrarla —los datos siguen ahí, siguen en cada SUM, se siguen copiando al copiar el rango, solo que con un ancho de visualización de cero. Aprende por qué .Hidden vive en EntireColumn y EntireRow, por qué las celdas ocultas siguen contando en las fórmulas, la línea de mostrar todo que rescata una hoja atascada y en qué se diferencian las filas ocultas a mano de las ocultas por AutoFilter cuando recorres un bucle.

Henry
VBA Worksheet_BeforeDoubleClick en Excel — convierte un doble clic en una acción (y suprime el modo edición)

VBA Worksheet_BeforeDoubleClick en Excel — convierte un doble clic en una acción (y suprime el modo edición)

Worksheet_BeforeDoubleClick es el evento que Excel dispara en el instante en que haces doble clic en una celda, antes de que entre en modo edición, y te entrega la celda Target más un indicador Cancel. Pon Cancel en True para suprimir el modo edición y ejecutar tu propia acción en su lugar, alternar una marca, dar una fila por hecha o bajar al detalle. Aprende a acotarlo a una sola columna con Intersect, por qué olvidar Cancel deja la celda en modo edición, y dónde debe vivir el código.

Henry
VBA Worksheet_BeforeRightClick en Excel — reemplaza el menú del clic derecho (y por qué desactivarlo no es seguridad)

VBA Worksheet_BeforeRightClick en Excel — reemplaza el menú del clic derecho (y por qué desactivarlo no es seguridad)

Worksheet_BeforeRightClick es el evento que Excel dispara en el instante en que haces clic derecho en una celda, antes de que aparezca el menú contextual, y te entrega la celda Target más un indicador Cancel. Pon Cancel en True para suprimir el menú integrado y ejecutar tu propia acción o mostrar un menú personalizado en su lugar. Aprende a acotarlo con Intersect para no lisiar Copiar y Pegar, por qué desactivar el clic derecho es UX y no protección, y dónde debe vivir el código.

Henry
VBA Workbook_BeforePrint en Excel — bloquea una impresión, sella un encabezado y la pega de la vista previa

VBA Workbook_BeforePrint en Excel — bloquea una impresión, sella un encabezado y la pega de la vista previa

Workbook_BeforePrint es el evento que Excel dispara antes de que se imprima nada del libro, y te entrega un indicador Cancel. Pon Cancel en True y la impresión se bloquea, valida antes de imprimir o frena que salga un borrador. Aprende por qué el evento también se dispara con la Vista preliminar (así que el trabajo pesado hace que la vista previa se arrastre), por qué se ejecuta una sola vez para todo el libro en lugar de por hoja, por qué un Cancel silencioso es un bug, y dónde debe vivir el código.

Henry
VBA Workbook_BeforeClose en Excel — cancela el cierre, pide guardar y dónde debe vivir el código

VBA Workbook_BeforeClose en Excel — cancela el cierre, pide guardar y dónde debe vivir el código

Workbook_BeforeClose es el evento que Excel dispara en el instante en que alguien intenta cerrar el archivo, antes de que nada se desmonte, y te entrega un indicador Cancel. Pon Cancel en True y el cierre se aborta. Aprende a ejecutar limpieza al cerrar, cómo evitar que Excel pida guardar dos veces con la propiedad Saved, por qué nunca se dispara ante un fallo, y dónde debe vivir el código.

Henry
VBA Workbook_BeforeSave en Excel — valida o bloquea un guardado, y qué te dice de verdad SaveAsUI

VBA Workbook_BeforeSave en Excel — valida o bloquea un guardado, y qué te dice de verdad SaveAsUI

Workbook_BeforeSave es el evento que Excel dispara en el momento en que se solicita un guardado, antes de que nada se escriba en disco, y te entrega dos indicadores, SaveAsUI y Cancel. Aprende a bloquear un guardado cuando una celda obligatoria está vacía, a sellar automáticamente quién guardó y cuándo, por qué llamar a Save dentro del manejador entra en bucle infinito, y cómo SaveAsUI te permite imponer un nombre de archivo.

Henry
VBA Worksheet_Activate y Deactivate en Excel — ejecuta código al cambiar de hoja (y por qué no puedes cancelar una salida)

VBA Worksheet_Activate y Deactivate en Excel — ejecuta código al cambiar de hoja (y por qué no puedes cancelar una salida)

Worksheet_Activate se dispara cuando una hoja pasa a ser la activa y Worksheet_Deactivate se dispara justo al abandonarla, los eventos de llegada y salida de una hoja. La pega que los define, a diferencia de BeforeClose y BeforeSave, ninguno te da un Cancel, así que puedes observar un cambio de hoja pero no puedes bloquearlo. Aprende el patrón de refrescar al mirar, el truco del rebote, y los manejadores a nivel de hoja frente a nivel de libro.

Henry
VBA Class Module en Excel — construye tu propio objeto (plano frente a instancia, y la trampa de As New)

VBA Class Module en Excel — construye tu propio objeto (plano frente a instancia, y la trampa de As New)

Un class module de VBA te deja definir tu propio tipo de objeto —un plano que agrupa datos y comportamiento— y luego crear instancias independientes con New. La trampa que pilla a todo el mundo es que los objetos son tipos de referencia, así que Set b = a hace que ambos nombres apunten a la misma instancia, y Dim x As New esconde una trampa de instanciación perezosa. Aprende cómo el nombre del módulo se convierte en el nombre del tipo, cuándo una clase gana a un Type y cómo evitar los errores clásicos con New.

Henry
VBA Type en Excel — agrupa campos relacionados en una sola variable (tipos definidos por el usuario frente a una clase)

VBA Type en Excel — agrupa campos relacionados en una sola variable (tipos definidos por el usuario frente a una clase)

Un Type de VBA —un tipo definido por el usuario declarado con Type ... End Type— agrupa varios campos relacionados en una sola variable, así Name, Age y Salary viajan juntos en lugar de como tres arrays paralelos. Es un tipo de valor, lo que significa que asignar una variable Type a otra copia todos los campos, al contrario que los objetos, que comparten. Aprende dónde debe vivir la declaración, por qué copiar en vez de compartir importa y el punto exacto en el que deberías recurrir a un class module.

Henry
VBA Property en Excel — Get, Let y Set (acceso controlado a los campos de una clase)

VBA Property en Excel — Get, Let y Set (acceso controlado a los campos de una clase)

Property Get, Let y Set convierten un campo de clase en una puerta —un pequeño procedimiento que ejecuta tu código cada vez que el exterior lo lee o lo escribe—, así puedes validar la entrada, calcular valores al vuelo o hacer un campo de solo lectura. La distinción que pilla a todo el mundo es Let frente a Set —Let asigna un valor, Set asigna un objeto— y usar el que no toca es un error de compilación o de tiempo de ejecución. Aprende el patrón del campo de respaldo, cuándo una simple variable Public es la elección honesta y cómo construir una propiedad de solo lectura.

Henry
VBA ActiveCell en Excel — la única celda con el cursor (ActiveCell frente a Selection, y cuándo falla)

VBA ActiveCell en Excel — la única celda con el cursor (ActiveCell frente a Selection, y cuándo falla)

ActiveCell es un puntero vivo a la única celda que tiene el cursor ahora mismo — siempre exactamente una celda, en la hoja activa, dentro de la Selection actual. Aprende en qué se diferencia de Selection, cómo leerlo y escribirlo con .Value y .Offset, y la razón número uno por la que falla — sigue a la hoja y el cursor que el usuario dejó atrás, así que es la herramienta equivocada para código que no trata de dónde está el usuario.

Henry
VBA Selection en Excel — trabaja con lo que está resaltado (y por qué no siempre es un Range)

VBA Selection en Excel — trabaja con lo que está resaltado (y por qué no siempre es un Range)

Selection es un puntero vivo a lo que esté resaltado ahora mismo — normalmente un rango de celdas, pero también puede ser un gráfico, una forma o nada en absoluto. Por eso el código que da por hecho que Selection es un rango se rompe en cuanto se selecciona un gráfico. Aprende a recorrer las celdas seleccionadas, a manejar selecciones de varias áreas con .Areas, a protegerte con TypeName y cuándo saltarte Selection por completo y nombrar tu rango.

Henry
VBA Select frente a Activate en Excel — rompe el hábito de .Select de la grabadora de macros

VBA Select frente a Activate en Excel — rompe el hábito de .Select de la grabadora de macros

La grabadora de macros escribe lo que hace tu ratón — Select una hoja, Select una celda, actúa sobre la Selection — porque así trabaja una persona, no como debería hacerlo el código. Aprende la diferencia real entre Select (resaltar una o varias celdas) y Activate (fijar la única celda activa), por qué casi todo .Select es un rodeo lento y frágil que puedes borrar, las raras veces en que de verdad necesitas seleccionar, y cómo refactorizar el código de la grabadora para actuar directamente sobre referencias de rango cualificadas.

Henry
VBA Workbook_Open en Excel — ejecuta una macro automáticamente al abrir el archivo (y dónde debe vivir el código)

VBA Workbook_Open en Excel — ejecuta una macro automáticamente al abrir el archivo (y dónde debe vivir el código)

Workbook_Open es el evento que Excel dispara en el instante en que tu archivo termina de abrirse — código que se ejecuta solo, sin necesidad de botón. Pero solo se dispara si vive en el objeto ThisWorkbook (no en un Module estándar) y el usuario tiene las macros habilitadas. Aprende dónde debe ir el código, por qué a veces nunca se ejecuta en silencio, Workbook_Open frente a Auto_Open, y cómo mantenerlo rápido y a prueba de fallos.

Henry
VBA Worksheet_Change en Excel — ejecuta código cuando se edita una celda (y el bucle infinito que hay que evitar)

VBA Worksheet_Change en Excel — ejecuta código cuando se edita una celda (y el bucle infinito que hay que evitar)

Worksheet_Change es el evento que Excel dispara cada vez que un usuario edita una celda de la hoja, entregándote la celda modificada como Target. La trampa que atrapa a todo el mundo: tu manejador escribe en una celda, esa escritura vuelve a disparar el evento, y Excel entra en bucle infinito. Aprende el arreglo con Application.EnableEvents, cómo acotarlo con Intersect, por qué ignora los recálculos de fórmulas, y dónde debe vivir el código.

Henry
VBA Worksheet_SelectionChange en Excel — ejecuta código cuando se mueve el cursor (resalta la fila activa sin retardos)

VBA Worksheet_SelectionChange en Excel — ejecuta código cuando se mueve el cursor (resalta la fila activa sin retardos)

Worksheet_SelectionChange es el evento que Excel dispara cada vez que el cursor se mueve — un clic, una tecla de flecha, un Enter. Te entrega la nueva selección como Target, lo que hace posibles trucos de seguimiento del cursor como resaltar la fila activa. Pero se dispara constantemente, así que el código pesado hace que toda la hoja vaya con retardo. Aprende el patrón de resaltar la fila activa bien hecho, por qué puede entrar en bucle, y cómo mantenerlo ligerísimo.

Henry
VBA For Each en Excel — recorre una colección sin tocar un índice (y las trampas que esconde)

VBA For Each en Excel — recorre una colección sin tocar un índice (y las trampas que esconde)

For Each dice «haz esto con cada elemento» y deja que VBA gestione el orden y los límites — sin contador, sin desfases por uno. Pero esa comodidad esconde tres reglas duras; la variable de bucle debe ser un objeto o un Variant, recorrer una matriz es de solo lectura y nunca debes eliminar de una colección que estás recorriendo. Aprende cuándo For Each gana a For…Next y cuándo te traiciona sin avisar.

Henry
VBA Collection en Excel — la lista ordenada que crece (y por qué no es un Dictionary)

VBA Collection en Excel — la lista ordenada que crece (y por qué no es un Dictionary)

Una VBA Collection es una lista ordenada que crece según le haces Add — sin ReDim, sin adivinar el tamaño. Pero tiene cuatro aristas con las que los principiantes se cortan siempre; es base 1 y no base 0, no puedes sobrescribir un elemento (solo Add/Remove), las claves duplicadas lanzan el error 457 y no trae ninguna comprobación Exists. Aprende cuándo una Collection gana a un Array o a un Dictionary, y cuándo te sale cara sin avisar.

Henry
VBA With en Excel — nombra el objeto una sola vez (y el punto inicial del que todo depende)

VBA With en Excel — nombra el objeto una sola vez (y el punto inicial del que todo depende)

La instrucción With nombra un objeto una vez y te deja alcanzar sus miembros con un punto inicial a secas — menos tecleo, código más rápido, bloques más limpios. Pero todo se juega en ese punto inicial; olvídalo y .Font se convierte en Font, que se enlaza en silencio con la hoja activa en vez de con tu objeto. Aprende qué optimiza With de verdad, la trampa del punto que falta y cómo With se combina con For Each.

Henry
Función AVERAGE de Excel — por qué un blanco y un cero dan dos promedios distintos

Función AVERAGE de Excel — por qué un blanco y un cero dan dos promedios distintos

La función AVERAGE de Excel parece trivial hasta que una celda en blanco y un cero producen, en silencio, dos promedios distintos de los mismos datos. AVERAGE ignora los blancos y el texto pero cuenta un 0 real, así que registrar una venta nula como 0 o dejar la celda vacía cambia el número sin avisar, y nada en la fórmula te lo advierte. Aprende el modelo mental (suma ÷ conteo, solo de números), la trampa del blanco frente al cero que decide tu respuesta, por qué AVERAGEA casi nunca es lo que quieres y cuándo un promedio de promedios es directamente la pregunta equivocada.

Henry
Promedio ponderado en Excel — SUMPRODUCT ÷ SUM (y por qué el promedio de promedios miente)

Promedio ponderado en Excel — SUMPRODUCT ÷ SUM (y por qué el promedio de promedios miente)

Excel no tiene una función WEIGHTEDAVG: el promedio ponderado correcto es =SUMPRODUCT(valores, pesos)/SUM(pesos). Lo que importa no es la fórmula, sino el error que corrige: hacer un AVERAGE simple de números que resumen grupos de distinto tamaño da a cada grupo el mismo peso, así que una región de 3 pedidos cuenta tanto como una de 300. Aprende el modelo mental (los pesos redistribuyen la influencia según el tamaño), por qué se divide entre SUM(pesos), el atajo cuando los pesos suman 1, ejemplos de nota media, cartera y precio combinado, y cómo añadir una condición.

Henry
Excel GEOMEAN, TRIMMEAN y HARMEAN — los promedios para cuando la media miente

Excel GEOMEAN, TRIMMEAN y HARMEAN — los promedios para cuando la media miente

Tres promedios especializados para los casos en que un AVERAGE simple da una respuesta errónea o engañosa. GEOMEAN es el promedio correcto para tasas de crecimiento y rentabilidades: un año de +50% y otro de -50% no promedian 0%. TRIMMEAN descarta los valores extremos altos y bajos antes de promediar, como hace la puntuación olímpica. HARMEAN es el promedio adecuado para tasas como la velocidad y los ratios PER. Aprende qué mentira corrige cada uno, el patrón GEOMEAN(1+r)-1 para el CAGR real, por qué los tres siempre se ordenan armónica ≤ geométrica ≤ aritmética, y las trampas del #¡NUM!.

Henry
Excel PRODUCTO — multiplica un rango entero (y por qué no es lo mismo que *)

Excel PRODUCTO — multiplica un rango entero (y por qué no es lo mismo que *)

La función PRODUCTO de Excel multiplica un rango en una sola llamada, pero la verdadera razón para usarla en vez del operador * es lo que hace con el texto y las celdas vacías: las ignora, mientras que * da error con el texto o pone tu resultado a cero en silencio en cuanto una celda está vacía. Aprende el modelo mental (PRODUCTO es el gemelo multiplicativo de SUMA), el truco del interés compuesto =PRODUCTO(1+rango), en qué se diferencia de SUMAPRODUCTO y cuándo una cadena de * es en realidad la mejor opción.

Henry
Excel Factorial (FACT) — n!, FACT.DOBLE y MULTINOMIAL (y el desbordamiento en 171!)

Excel Factorial (FACT) — n!, FACT.DOBLE y MULTINOMIAL (y el desbordamiento en 171!)

La función FACT de Excel calcula un factorial —=FACT(5) es 5×4×3×2×1 = 120—, pero lo primero que hay que entender es qué significa un factorial: el número de formas de ordenar n cosas distintas. Aprende por qué FACT(0) es 1, por qué FACT(171) devuelve #¡NUM! (el mayor factorial que Excel puede calcular es 170!), en qué se diferencian FACT.DOBLE y MULTINOMIAL, y por qué FACT es el átomo del que se construye toda función de combinaciones y permutaciones.

Henry
Excel COMBINAT y PERMUTACIONES — combinaciones frente a permutaciones (¿importa el orden?)

Excel COMBINAT y PERMUTACIONES — combinaciones frente a permutaciones (¿importa el orden?)

COMBINAT y PERMUTACIONES de Excel cuentan de cuántas formas puedes elegir k elementos de entre n; la diferencia es si importa el orden. PERMUTACIONES cuenta ordenaciones con orden (un podio, un PIN); COMBINAT cuenta selecciones sin orden (una lotería, un comité), y siempre es el número menor. Aprende la cuadrícula 2×2 que elige la función correcta cada vez (orden × repetición → PERMUTACIONES / PERMUTACIONES.A / COMBINAT / COMBINAT.A), el ejemplo de la lotería =COMBINAT(49;6) y por qué elegir mal no da ningún error, solo un recuento desviado por un factor de k!.

Henry
Excel NSHORA, HORA, MINUTO y SEGUNDO — Lee y construye la fracción que hay detrás del reloj

Excel NSHORA, HORA, MINUTO y SEGUNDO — Lee y construye la fracción que hay detrás del reloj

Una hora de reloj en Excel es una fracción de un día de 24 horas — las 6:00 son literalmente 0.25. HORA, MINUTO y SEGUNDO leen las piezas de esa fracción; NSHORA construye una fracción a partir de piezas y da la vuelta a medianoche sin avisar; HORANUMERO interpreta una hora de texto y la convierte en la fracción. Aprende el modelo mental, por qué HORA devuelve 6 para una duración de 30 horas, cómo NSHORA(25,0,0) se convierte en la 1:00, cómo sumar 90 minutos, y cuándo recurrir a la aritmética en su lugar.

Henry
Convertir hora a horas decimales en Excel — El truco del ×24 (y calcular horas trabajadas)

Convertir hora a horas decimales en Excel — El truco del ×24 (y calcular horas trabajadas)

Una hora en Excel es una fracción de un día, así que 8:15 se guarda como 0.34375, no como 8.25. Para convertirla en horas decimales multiplicas por 24 — la fórmula de hora más buscada de todas. Aprende por qué horas × tarifa sale 24 veces demasiado pequeño, cómo (fin − inicio) × 24 da las horas trabajadas, el truco de RESIDUO para turnos de noche que cruzan la medianoche, cómo restar descansos no pagados, y cómo redondear el tiempo facturable al cuarto de hora más cercano.

Henry
Suma de horas por encima de 24 en Excel — Por qué tu total se reinicia (y el arreglo [h]:mm)

Suma de horas por encima de 24 en Excel — Por qué tu total se reinicia (y el arreglo [h]:mm)

Suma una columna de horas y el total marca 1:30 en lugar de 25:30 — SUMA está bien, el formato miente. El h:mm por defecto de Excel muestra solo el resto tras los días enteros, así que da la vuelta a las 24 horas. El arreglo es el formato personalizado [h]:mm, donde los corchetes le dicen a Excel que acumule en lugar de dar la vuelta. Aprende por qué las horas negativas muestran #######, cómo obtener un total decimal, y la chuleta de formatos de hora.

Henry
Excel SENO, COS y TAN — por qué =SENO(30) no es 0,5 (la trampa de los radianes)

Excel SENO, COS y TAN — por qué =SENO(30) no es 0,5 (la trampa de los radianes)

Las funciones SENO, COS y TAN de Excel miden los ángulos en radianes, no en grados, así que =SENO(30) devuelve -0,988, no 0,5, y Excel nunca lo marca como error. Aprende el único modelo mental que arregla todas las respuestas trigonométricas erróneas (envuelve los grados en RADIANES), por qué TAN explota cerca de 90° en vez de dar error y cómo mantener una sola unidad de ángulo en toda la hoja.

Henry
Excel RADIANES, GRADOS y PI — convertir unidades de ángulo (y por qué PI() es una función)

Excel RADIANES, GRADOS y PI — convertir unidades de ángulo (y por qué PI() es una función)

RADIANES y GRADOS son el puente entre la unidad de ángulo en la que piensas (grados) y la que exigen las funciones trigonométricas de Excel (radianes). Aprende dónde va cada conversor —RADIANES antes de SENO/COS/TAN, GRADOS después de las funciones inversas—, por qué PI() necesita sus paréntesis o devuelve #¿NOMBRE? y por qué nunca deberías escribir 3,14159 a mano.

Henry
Excel ATAN y ATAN2 — arcotangente, tangente inversa y el ángulo a partir de X,Y

Excel ATAN y ATAN2 — arcotangente, tangente inversa y el ángulo a partir de X,Y

Las funciones trigonométricas inversas ASENO, ACOS, ATAN y ATAN2 convierten una razón de nuevo en un ángulo, y devuelven ese ángulo en radianes, así que las envuelves en GRADOS. Aprende por qué ATAN no puede saber en qué cuadrante estás, cómo lo resuelve ATAN2, la famosa trampa de que ATAN2(x, y) de Excel invierte el orden de argumentos que usan todos los lenguajes de programación, y por qué ASENO/ACOS de cualquier valor fuera de -1..1 devuelve #¡NUM!.

Henry
Funciones FV y PV en Excel — Valor futuro, valor actual y la regla de los cinco

Funciones FV y PV en Excel — Valor futuro, valor actual y la regla de los cinco

FV y PV son la misma ecuación del valor temporal del dinero que PMT, resuelta para una incógnita distinta. Cinco variables —rate, nper, pmt, pv, fv— y una función por incógnita: conoce cuatro cualesquiera y obtén la quinta. Aprende el valor futuro de un plan de ahorro, el valor actual de una serie de pagos, la misma convención de signos (el dinero que aportas es negativo), el argumento type para la anualidad anticipada, y cuándo recurrir a RATE y NPER.

Henry
NPV e IRR en Excel — Flujo de caja descontado y la tasa de retorno

NPV e IRR en Excel — Flujo de caja descontado y la tasa de retorno

NPV e IRR manejan los flujos de caja que PMT y FV no pueden: los irregulares y desiguales de un proyecto real. El mayor error de todos, y la razón entera para leer esto: el NPV de Excel supone que el primer valor llega un periodo en el FUTURO, así que una inversión en el momento cero debe quedar FUERA de la llamada a NPV. Aprende a usar NPV bien, IRR y por qué devuelve #NUM!, la trampa de los IRR múltiples, y por qué XNPV y XIRR (fechas reales) son lo que de verdad usan los analistas.

Henry
DSUM y DCOUNT en Excel — Suma y cuenta las filas que coinciden con una tabla de criterios

DSUM y DCOUNT en Excel — Suma y cuenta las filas que coinciden con una tabla de criterios

DSUM y DCOUNT responden «suma (o cuenta) las filas que coinciden», pero escribes las condiciones como una pequeña tabla en la hoja, no dentro de la fórmula. Aprende los tres argumentos, por qué el rango de datos debe incluir su fila de encabezados, cómo un rango de criterios codifica Y y O, por qué DCOUNT ignora el texto (usa DCOUNTA) y cuándo un bloque de criterios visible le gana a SUMIFS.

Henry
Función DGET en Excel — Extrae un único registro y falla a gritos cuando no lo hay

Función DGET en Excel — Extrae un único registro y falla a gritos cuando no lo hay

DGET extrae un único valor de una tabla usando un rango de criterios, y su rasgo definitorio es que da error a propósito: #NUM! cuando coincide más de una fila, #VALUE! cuando no coincide ninguna. No es un fallo, es una comprobación de unicidad integrada que VLOOKUP se salta en silencio. Aprende los tres argumentos, las búsquedas con varias condiciones sin columna auxiliar y cuándo DGET le gana a XLOOKUP (y cuándo no).

Henry
Funciones de base de datos en Excel — DAVERAGE, DMAX, DMIN y el dominio del rango de criterios

Funciones de base de datos en Excel — DAVERAGE, DMAX, DMIN y el dominio del rango de criterios

Las doce funciones D —DSUM, DCOUNT, DGET, DAVERAGE, DMAX, DMIN y más— comparten una firma y una destreza: el rango de criterios. Aprende cómo un bloque de criterios codifica Y y O, por qué un rango sobre un solo campo necesita su encabezado dos veces, cómo funcionan los criterios de fórmula (y la regla del encabezado que los hace o los rompe), la trampa de la coincidencia por «empieza por» y el árbol de decisión entre funciones D, SUMIFS y FILTER.

Henry
Función GROUPBY en Excel — Agrupa y resume datos con una sola fórmula

Función GROUPBY en Excel — Agrupa y resume datos con una sola fórmula

GROUPBY(campos_fila; valores; función) agrupa filas y las agrega en una sola fórmula que se derrama — el reemplazo moderno del patrón UNIQUE + SUMIFS y, para muchos informes, de la propia tabla dinámica. La trampa que pilla a todos: pasas la función por su nombre (SUM, no SUM()), porque es una lambda que Excel aplica a cada grupo. Aprende los tres argumentos obligatorios, por qué se recalcula en vivo donde una tabla dinámica queda obsoleta, cómo añadir totales y ordenar por el valor agregado, y la versión que necesita.

Henry
Función PIVOTBY en Excel — Crea una tabla dinámica con una fórmula

Función PIVOTBY en Excel — Crea una tabla dinámica con una fórmula

PIVOTBY(campos_fila; campos_columna; valores; función) es GROUPBY con una segunda dimensión — tabula los datos de forma cruzada en una cuadrícula de filas por columnas, una tabla dinámica expresada como una sola fórmula que se derrama y se recalcula en vivo sin Actualizar. Aprende los cuatro argumentos obligatorios, por qué campos_fila y campos_columna no son intercambiables, cómo añadir totales en ambos ejes y el verdadero compromiso frente a una tabla dinámica clásica (viva y referenciable, pero no interactiva de arrastrar y soltar). Necesita Excel 365.

Henry
GROUPBY y PIVOTBY avanzado — Porcentaje del total, varias métricas y agregaciones personalizadas

GROUPBY y PIVOTBY avanzado — Porcentaje del total, varias métricas y agregaciones personalizadas

Los argumentos opcionales que comparten GROUPBY y PIVOTBY son donde dejan de sustituir a las tablas dinámicas y empiezan a superarlas: PERCENTOF para el porcentaje del total en una sola palabra, varias columnas de valores para varias métricas a la vez, un LAMBDA en la ranura de la función para una media ponderada que las tablas dinámicas no pueden hacer, y filter_array para agregar solo las filas que quieres. Aprende la gramática de la función eta-reducida, la trampa del porcentaje del total y los errores (#CALC!, #FIELD!, #SPILL!) que te dicen qué argumento está mal.

Henry
Funciones ROW & COLUMN (FILA & COLUMNA) en Excel — Obtén la posición de una celda, no su valor

Funciones ROW & COLUMN (FILA & COLUMNA) en Excel — Obtén la posición de una celda, no su valor

`ROW([referencia])` devuelve un número de fila y `COLUMN([referencia])` un número de columna — la posición de una celda, nunca su contenido. Sin argumento, cada una devuelve la coordenada de la celda que contiene la fórmula. Aprende el modelo mental que separa "dónde está una celda" de "qué hay dentro", cómo `ROW()` menos un ancla construye números de serie que se renumeran solos, por qué `MOD(ROW(),n)` genera el sombreado de filas alternas y la agrupación, y la trampa nº1: `ROW(C10)` es `10`, no el valor de C10.

Henry
Funciones ROWS & COLUMNS (FILAS & COLUMNAS) en Excel — Cuenta el tamaño de un rango (no su posición)

Funciones ROWS & COLUMNS (FILAS & COLUMNAS) en Excel — Cuenta el tamaño de un rango (no su posición)

`ROWS(matriz)` devuelve cuántas filas tiene un rango y `COLUMNS(matriz)` cuántas columnas — un tamaño, no una posición. `ROWS(A1:A10)` es `10`; `COLUMNS(A1:C1)` es `3`. Aprende por qué las formas en plural difieren de `ROW` y `COLUMN`, el uso estrella de un índice de columna de `VLOOKUP` que se autoajusta con `COLUMNS()`, cómo contar las filas que devuelve un `FILTER`, y la trampa de la columna entera donde `ROWS(A:A)` es 1.048.576.

Henry
Función HYPERLINK (HIPERVINCULO) en Excel — Crea enlaces clicables que se actualizan solos

Función HYPERLINK (HIPERVINCULO) en Excel — Crea enlaces clicables que se actualizan solos

`HYPERLINK(ubicación_del_vínculo, [nombre_descriptivo])` es una fórmula que construye un salto clicable — a una celda, hoja, archivo, página web o correo — cuyo destino pueden calcular otras fórmulas. No es lo mismo que el menú Insertar > Vínculo, que crea un enlace estático. Aprende el modelo mental de fórmula-frente-a-menú, el prefijo `#` para saltar dentro de un libro, los destinos dinámicos con `ADDRESS` y `MATCH`, y la confusión nº1: navega al hacer clic, no trae el valor del destino, por lo que siempre conviene pasar `nombre_descriptivo`.

Henry
Excel ALEATORIO y ALEATORIO.ENTRE — genera números aleatorios (y evita que cambien)

Excel ALEATORIO y ALEATORIO.ENTRE — genera números aleatorios (y evita que cambien)

ALEATORIO() devuelve un decimal aleatorio desde 0 hasta 1; ALEATORIO.ENTRE(inferior; superior) devuelve un entero aleatorio en un rango, con ambos extremos incluidos. Aprende el modelo mental de que las dos son volátiles —se recalculan en cada edición—, por qué esa es la trampa número uno, cómo congelarlas con Pegado especial, por qué ALEATORIO.ENTRE repite valores y la fórmula =a+(b-a)*ALEATORIO() para decimales aleatorios.

Henry
Excel MATRIZALEAT — una fórmula para toda una cuadrícula de números aleatorios

Excel MATRIZALEAT — una fórmula para toda una cuadrícula de números aleatorios

MATRIZALEAT([filas];[columnas];[mín];[máx];[número_entero]) derrama un bloque de números aleatorios desde una sola fórmula — ALEATORIO y ALEATORIO.ENTRE fusionadas y mejoradas. Aprende por qué el argumento número_entero vale FALSO por defecto (así que obtienes decimales salvo que pidas enteros), por qué sigue siendo volátil, cuándo lanza #¡DESBORDAMIENTO! y el truco para barajar SORTBY(lista; MATRIZALEAT(...)).

Henry
Cómo seleccionar, muestrear y barajar filas al azar en Excel

Cómo seleccionar, muestrear y barajar filas al azar en Excel

El único truco detrás de toda extracción aleatoria en Excel: adjunta un número aleatorio a cada fila y luego ordena por él. Aprende la fórmula moderna de una línea TAKE(SORTBY(datos; MATRIZALEAT(...)); n), el método clásico con columna auxiliar de ALEATORIO, la distinción crítica entre con reemplazo y sin reemplazo que arruina las muestras, y por qué debes congelar la columna aleatoria antes de ordenar.

Henry
Excel POTENCIA y RAIZ — exponentes, raíces y las trampas de precedencia

Excel POTENCIA y RAIZ — exponentes, raíces y las trampas de precedencia

POTENCIA(x;n) y el operador ^ elevan un número a una potencia; RAIZ(x) es el atajo de la raíz cuadrada para ^(1/2). Aprende el modelo mental de que las raíces no son más que exponentes fraccionarios, por qué =-3^2 devuelve 9 y =27^1/3 devuelve 9 (dos trampas de precedencia), por qué RAIZ de un negativo da #¡NUM! y cómo una sola fórmula POTENCIA te da la CAGR.

Henry
Excel ABS y SIGNO — valor absoluto, magnitud y el signo que descartas

Excel ABS y SIGNO — valor absoluto, magnitud y el signo que descartas

ABS(x) devuelve la magnitud de un número (su distancia desde cero); SIGNO(x) devuelve solo su dirección como -1, 0 o +1. Aprende el modelo mental de que todo número es magnitud por dirección, por qué un control de tolerancia necesita ABS(A-B) y no A-B, la identidad x = SIGNO(x)*ABS(x) y por qué ABS es una herramienta para cuando la dirección de verdad no importa, no un parche sobre un signo que no esperabas.

Henry
Excel EXP, LN y LOG — logaritmos, tasas de crecimiento y la trampa de la base por defecto

Excel EXP, LN y LOG — logaritmos, tasas de crecimiento y la trampa de la base por defecto

EXP(x) eleva e a una potencia; LN, LOG10 y LOG son sus inversas. Aprende el modelo mental de que un logaritmo es la exponenciación al revés (despejar el exponente), por qué LOG(x) sin base es base 10 y NO el logaritmo natural, por qué LN(0) y LOG de un negativo dan #¡NUM! y las dos fórmulas que los usuarios de empresa necesitan de verdad: media geométrica = EXP(PROMEDIO(LN)) y periodos-hasta-objetivo = LN(objetivo)/LN(tasa).

Henry
Funciones FORMULATEXTO (FORMULATEXT) y ESFORMULA (ISFORMULA) de Excel — Lee y audita la fórmula dentro de una celda

Funciones FORMULATEXTO (FORMULATEXT) y ESFORMULA (ISFORMULA) de Excel — Lee y audita la fórmula dentro de una celda

FORMULATEXTO (FORMULATEXT) devuelve la fórmula de una celda como texto; ESFORMULA (ISFORMULA) devuelve VERDADERO cuando una celda contiene una fórmula. Aprende el modelo mental — estas funciones auditan una hoja, no calculan —, el #N/D que sale en una celda que no es fórmula, el truco de formato condicional que resalta cada fórmula y cuándo usarlas en lugar de Mostrar fórmulas.

Henry
Función CELDA (CELL) de Excel — Obtén la dirección, el formato, el tipo y el nombre de archivo de una celda

Función CELDA (CELL) de Excel — Obtén la dirección, el formato, el tipo y el nombre de archivo de una celda

CELDA (CELL) devuelve metadatos sobre una celda — su dirección, fila, columna, formato de número, tipo de contenido o el nombre de archivo del libro — en lugar de su valor. Aprende el modelo mental, por qué info_type es una cadena de palabra clave, el único trabajo en el que aún es insustituible (obtener la ruta del archivo y el nombre de la hoja) y la trampa de recálculo que la hace parecer equivocada.

Henry
Funciones TIPO (TYPE) y N (N) de Excel — Diagnostica qué clase de valor tienes realmente

Funciones TIPO (TYPE) y N (N) de Excel — Diagnostica qué clase de valor tienes realmente

TIPO (TYPE) devuelve un código según el tipo de valor de una celda — 1 número, 2 texto, 4 lógico, 16 error, 64 matriz — y N (N) convierte un valor en número. Aprende el modelo mental, cómo TIPO detecta los números guardados como texto, por qué N de cualquier texto devuelve 0 en lugar de dar error y el clásico truco de N para incrustar un comentario dentro de una fórmula.

Henry
Función CAMBIAR (SWITCH) de Excel — Sustituye los SI anidados por una fórmula plana y legible

Función CAMBIAR (SWITCH) de Excel — Sustituye los SI anidados por una fórmula plana y legible

CAMBIAR (SWITCH) compara una expresión con una lista de valores exactos y devuelve la primera coincidencia — =SWITCH(expr, val1, res1, val2, res2, default). Aprende el modelo mental, por qué solo hace igualdad exacta (y por qué esa es la frontera entre SWITCH e IFS), la trampa del argumento default que devuelve #N/D, el truco SWITCH(TRUE()) para rangos y cuándo usarla en lugar de un IF anidado.

Henry
Función ELEGIR (CHOOSE) de Excel — Elige el enésimo elemento por posición (y su superpoder oculto)

Función ELEGIR (CHOOSE) de Excel — Elige el enésimo elemento por posición (y su superpoder oculto)

ELEGIR (CHOOSE) devuelve el enésimo elemento de una lista por posición — =CHOOSE(index_num, value1, value2, …). Aprende el modelo mental, por qué elige por posición y no por coincidencia (la frontera entre CHOOSE y SWITCH), el #¡VALOR! que obtienes cuando el índice está fuera de rango y su superpoder poco aprovechado — devolver rangos enteros para cambiar de escenario o reordenar columnas para una búsqueda hacia la izquierda.

Henry
MAX.SI.CONJUNTO y MIN.SI.CONJUNTO (MAXIFS y MINIFS) en Excel — Máximo y mínimo condicional sin fórmulas matriciales

MAX.SI.CONJUNTO y MIN.SI.CONJUNTO (MAXIFS y MINIFS) en Excel — Máximo y mínimo condicional sin fórmulas matriciales

MAXIFS y MINIFS devuelven el valor más grande o más pequeño que cumple una o más condiciones — =MAXIFS(max_range, criteria_range1, criteria1, …). Aprende el modelo mental, el orden de argumentos que hace tropezar a quienes vienen de SUMIF, por qué reemplazan a la vieja fórmula matricial {=MAX(IF())} y la trampa del 0 silencioso que devuelven cuando ninguna fila coincide.

Henry
Función COUNTIF de Excel — contar celdas que cumplen una condición (y las trampas del criterio)

Función COUNTIF de Excel — contar celdas que cumplen una condición (y las trampas del criterio)

COUNTIF cuenta las celdas que cumplen una sola condición — =COUNTIF(range, criteria) — donde el criterio es una pequeña prueba escrita como texto. Aprende por qué los operadores deben ir entre comillas, cómo usar el valor de una celda como umbral con &, los comodines para buscar texto, la trampa de los 15 dígitos en números largos, y cuándo dar el salto a COUNTIFS.

Henry
Cómo contar valores únicos en Excel — la forma moderna y la fórmula clásica

Cómo contar valores únicos en Excel — la forma moderna y la fórmula clásica

Excel no tiene una función COUNTUNIQUE, así que contar valores distintos tiene dos respuestas: la moderna =COUNTA(UNIQUE(range)) en 365/2021, y la clásica =SUMPRODUCT(1/COUNTIF(range,range)) para versiones antiguas. Aprende por qué los blancos suman 1 a tu recuento, cómo excluirlos con FILTER, por qué la fórmula clásica lanza #DIV/0!, y la diferencia entre valores distintos y valores que aparecen una sola vez.

Henry
ESPACIOS y LIMPIAR en Excel — Elimina la basura invisible que rompe tus búsquedas

ESPACIOS y LIMPIAR en Excel — Elimina la basura invisible que rompe tus búsquedas

ESPACIOS (TRIM) y LIMPIAR (CLEAN) eliminan basura invisible del texto importado, pero atacan cosas distintas: ESPACIOS quita los espacios de más (ASCII 32) y LIMPIAR quita los caracteres de control no imprimibles (0-31). Ninguna elimina el espacio de no separación CHAR(160) que dejan los pegados de web y PDF: la razón número 1 de que «TRIM no funciona». Aprende el modelo mental y el único arreglo que lo caza todo.

Henry
MAYUSC, MINUSC y NOMPROPIO en Excel — Cambia el uso de mayúsculas sin destrozar tus datos

MAYUSC, MINUSC y NOMPROPIO en Excel — Cambia el uso de mayúsculas sin destrozar tus datos

MAYUSC, MINUSC y NOMPROPIO reescriben el uso de mayúsculas del texto, pero en Excel las mayúsculas son un asunto de visualización y exportación, no de coincidencia: el operador = y VLOOKUP ya no distinguen mayúsculas. La verdadera trampa es NOMPROPIO: pone en mayúscula la primera letra de cada palabra y convierte McDonald en Mcdonald e iPhone en Iphone. Aprende cuándo importan de verdad las mayúsculas y por qué NOMPROPIO es un punto de partida, no un acabado.

Henry
Función LARGO en Excel — Cuenta caracteres y revela la basura que no puedes ver

Función LARGO en Excel — Cuenta caracteres y revela la basura que no puedes ver

LARGO cuenta los caracteres de una celda, pero su verdadera fuerza es diagnóstica: como cuenta todos los caracteres, incluidos los espacios finales y los no imprimibles, LARGO es cómo demuestras que una celda que parece «Apple» es en realidad «Apple » con 6 caracteres. Aprende LARGO para validación, el truco de contar con LARGO-menos-LARGO, la extracción dinámica y por qué LARGO ignora el formato de número.

Henry
Función VLOOKUP en Excel — Cómo usarla, y el 4º argumento que la rompe

Función VLOOKUP en Excel — Cómo usarla, y el 4º argumento que la rompe

VLOOKUP busca hacia abajo en la primera columna de una tabla y cuenta N columnas hacia la derecha — ese diseño unidireccional es el origen de todos sus fallos. Aprende por qué el 4º argumento (range_lookup) casi siempre debe ser FALSE, por qué VLOOKUP no puede mirar a la izquierda, por qué un número de columna fijo se rompe en silencio al insertar una columna, y cómo arreglar el #N/A que significa «no encontrado».

Henry
INDEX y MATCH en Excel — La búsqueda de dos funciones que supera a VLOOKUP

INDEX y MATCH en Excel — La búsqueda de dos funciones que supera a VLOOKUP

INDEX y MATCH dividen una búsqueda en dos tareas: MATCH encuentra la posición («¿qué fila?»), INDEX devuelve el valor en esa posición («¿qué hay ahí?»). Desacoplar la búsqueda de la recuperación es lo que le da a INDEX/MATCH todo lo que a VLOOKUP le falta — mira a la izquierda igual de fácil que a la derecha, sobrevive a columnas insertadas y hace búsquedas bidimensionales reales. Aprende el patrón, la trampa de match_type, y cuándo aún supera a XLOOKUP.

Henry
HLOOKUP y LOOKUP en Excel — Búsquedas horizontales y la función heredada que jubilar

HLOOKUP y LOOKUP en Excel — Búsquedas horizontales y la función heredada que jubilar

HLOOKUP es VLOOKUP girado 90 grados — busca en la primera FILA y lee hacia abajo. LOOKUP es el ancestro de VLOOKUP, y su defecto fatal es que no tiene opción de coincidencia exacta: siempre aproxima y exige datos ordenados. Aprende cuándo una disposición horizontal hace de HLOOKUP la opción correcta, por qué el clásico truco LOOKUP(2,1/…) aún aparece en hojas viejas, y por qué ambas ceden en su mayoría el paso a XLOOKUP.

Henry
Funciones AND y OR en Excel — Combina condiciones bien (y por qué Excel nunca hace cortocircuito)

Funciones AND y OR en Excel — Combina condiciones bien (y por qué Excel nunca hace cortocircuito)

AND y OR no deciden nada — colapsan muchas pruebas TRUE/FALSE en un único veredicto que alimenta un IF, una regla o un filtro. Aprende por qué AND va dentro del primer argumento de IF, por qué un =AND(...) suelto solo imprime TRUE, por qué Excel evalúa todos los argumentos (sin cortocircuito, así que aún lanza #DIV/0!), y cuándo cambiarlos por máscaras de matriz con +/*.

Henry
Funciones NOT y XOR en Excel — Invierte una condición, y la lógica del «único distinto» que casi todos confunden

Funciones NOT y XOR en Excel — Invierte una condición, y la lógica del «único distinto» que casi todos confunden

NOT invierte un veredicto TRUE/FALSE; XOR es el o-exclusivo que AND y OR no saben expresar. Aprende por qué NOT toma un solo argumento (así que debes escribir NOT(AND(...)) para compuestos), cuándo NOT es solo <> disfrazado, cómo la ley de De Morgan es su verdadero superpoder, y la sorpresa de XOR: con 3+ entradas devuelve TRUE cuando hay un número IMPAR de TRUE, no «exactamente uno».

Henry
Funciones IS en Excel — ISNUMBER, ISTEXT, ISBLANK, ISERROR e ISNA (protege una fórmula antes de que se rompa)

Funciones IS en Excel — ISNUMBER, ISTEXT, ISBLANK, ISERROR e ISNA (protege una fórmula antes de que se rompa)

La familia IS inspecciona una celda y devuelve TRUE/FALSE — clasifican, nunca transforman. Aprende por qué ISBLANK es más estricta que «parece vacía», por qué ISERROR oculta bugs reales mientras ISNA e IFNA son más seguras, por qué IF(ISERROR(x),…,x) calcula x dos veces, y la app estrella de ISNUMBER: convertir SEARCH en una prueba limpia de coincidencia parcial.

Henry
Función TEXTO de Excel — Da formato a un número como texto (y la trampa que impide sumarlo)

Función TEXTO de Excel — Da formato a un número como texto (y la trampa que impide sumarlo)

La función TEXTO convierte un número o una fecha en una cadena de texto con formato mediante un código de formato — =TEXT(1234.5,"$#,##0.00") da "$1,234.50". Aprende el modelo mental (incrustar un formato dentro de una cadena real vs el formato de número de una celda que solo afecta a la visualización), la trampa nº1 (el resultado es texto, así que SUMA lo ignora), el curso exprés de códigos de formato para números y fechas, los ceros a la izquierda y la configuración regional, y cuándo un formato de celda, CONCAT o REDONDEAR es la mejor herramienta.

Henry
Excel VALOR y VALORNUMERO — Convierte texto de nuevo en números que calculan

Excel VALOR y VALORNUMERO — Convierte texto de nuevo en números que calculan

VALOR interpreta una cadena de texto que parece numérica — "1,234.50" o "$9.00" — y la convierte en un número real que puedes sumar, ordenar y graficar. Es la inversa de TEXTO. Aprende el modelo mental, la causa nº1 en el mundo real (números guardados como texto tras una importación o un pegado), por qué VALOR sigue tu configuración regional del sistema y cómo VALORNUMERO arregla un "1.234,56" europeo, los arreglos más rápidos sin fórmula (*1, doble unario, Texto en columnas), y por qué el Excel moderno convierte algo de texto pero SUMA nunca lo hace.

Henry
Excel FECHANUMERO y HORANUMERO — Rescata fechas y horas atrapadas como texto

Excel FECHANUMERO y HORANUMERO — Rescata fechas y horas atrapadas como texto

Una fecha en Excel es en realidad un número de serie disfrazado con un formato de fecha; una fecha que llega como texto es un impostor que no se ordena, no se resta ni alimenta a SIFECHA. FECHANUMERO interpreta una fecha de texto y devuelve su número de serie, y HORANUMERO interpreta una hora de texto y devuelve una fracción de día. Aprende el modelo mental, los síntomas de las fechas de texto, la trampa de ambigüedad regional con 03/04/2026, cómo combinar fecha + hora, cuándo FECHANUMERO no puede interpretar una cadena, y las alternativas FECHA(IZQUIERDA,EXTRAE,DERECHA) y Texto en columnas.

Henry
Función INDIRECTO en Excel — Convierte texto en una referencia viva (y por qué es volátil)

Función INDIRECTO en Excel — Convierte texto en una referencia viva (y por qué es volátil)

INDIRECTO convierte una cadena de texto como "A1" o "Hoja2!B3" en una referencia de celda viva. Aprende el modelo mental, la trampa nº1 (el texto no se actualiza solo, así que renombrar una hoja rompe cada INDIRECTO con #REF!), por qué es volátil e invisible para el rastreador de dependencias de Excel, el problema del libro cerrado con #REF!, su gran uso estrella — leer de una hoja cuyo nombre está en una celda — y cuándo una Tabla, una referencia 3D o ELEGIR son la mejor herramienta.

Henry
Función DESREF en Excel — Una referencia que se mueve (y cuándo INDICE es mejor)

Función DESREF en Excel — Una referencia que se mueve (y cuándo INDICE es mejor)

DESREF devuelve una referencia a un número fijo de filas y columnas desde un ancla, opcionalmente redimensionada a un bloque completo. Aprende el modelo mental, por qué devuelve una referencia (no un valor) para poder alimentar a SUMA, el coste de la volatilidad, el clásico truco del rango dinámico con nombre y por qué una Tabla o un rango de derrame ahora lo superan, la trampa de #REF! al salirse del borde, y la decisión de criterio clave: usa INDICE no volátil para indexar en un rango, y reserva DESREF solo para ventanas que de verdad se mueven.

Henry
Función DIRECCION en Excel — Construye la dirección de una celda como texto (no su valor)

Función DIRECCION en Excel — Construye la dirección de una celda como texto (no su valor)

DIRECCION construye el texto de una dirección de celda — =DIRECCION(1,1) devuelve la cadena "$A$1", no lo que hay en A1. Aprende el modelo mental (es lo opuesto al lado de entrada de INDIRECTO), el malentendido nº1 de que devuelve texto y no un valor, el argumento abs_num para bloquear con $, por qué NO es volátil a diferencia de INDIRECTO y DESREF, los trabajos reales — informar dónde está un valor mediante COINCIDIR y construir referencias para INDIRECTO — y una opinión honesta sobre lo de nicho que es en el Excel moderno.

Henry
Función SUMPRODUCT en Excel: multiplicar y luego sumar, y las condiciones que SUMIFS no puede hacer

Función SUMPRODUCT en Excel: multiplicar y luego sumar, y las condiciones que SUMIFS no puede hacer

SUMPRODUCT multiplica matrices elemento a elemento y suma los resultados: una celda, un producto escalar. Aprende la trampa del #VALUE! por dimensiones distintas, por qué se multiplican matrices booleanas para el Y y se suman para el O (nunca AND()/OR()), cuándo hace falta el doble negativo --, y los cálculos de total ponderado y O entre columnas que SUMIFS todavía no puede tocar.

Henry
Función SUBTOTAL en Excel: totales que respetan tu filtro (y la trampa del 9 frente al 109)

Función SUBTOTAL en Excel: totales que respetan tu filtro (y la trampa del 9 frente al 109)

SUBTOTAL es un total que entiende los filtros: se salta las filas que un filtro ha ocultado, así que el número del final de tu lista se actualiza a medida que filtras. Aprende la tabla de function_num, la trampa del 1–11 frente al 101–111 (por qué ocultar filas a mano no cambia tu total), por qué SUBTOTAL ignora otros SUBTOTAL para que los totales generales nunca cuenten doble, y por qué no puede saltarse errores — el trabajo para el que se creó AGGREGATE.

Henry
Función AGGREGATE en Excel: el superconjunto de SUBTOTAL que además ignora errores

Función AGGREGATE en Excel: el superconjunto de SUBTOTAL que además ignora errores

AGGREGATE es SUBTOTAL con dos mejoras: 19 funciones en lugar de 11, y un argumento options que le permite ignorar valores de error, filas ocultas y totales anidados. Aprende la rejilla de function_num + options, su truco más desaprovechado — sumar una columna que contiene #N/A sin ninguna limpieza con IFERROR — y las funciones de tipo matriz (LARGE, SMALL, PERCENTILE) que necesitan un argumento k extra.

Henry
Función ROUND de Excel — ROUND, ROUNDUP y ROUNDDOWN (y por qué dar formato no es redondear)

Función ROUND de Excel — ROUND, ROUNDUP y ROUNDDOWN (y por qué dar formato no es redondear)

ROUND cambia el valor almacenado a un número concreto de decimales; el formato de celda solo cambia cómo se ve. Aprende por qué esa diferencia hace que los totales de una factura se desvíen un céntimo, el truco de num_digits (positivo, cero, negativo), en qué se diferencian ROUNDUP y ROUNDDOWN de ROUND, y por qué redondean según la distancia al cero, no hacia arriba y hacia abajo.

Henry
Excel INT, TRUNC y MOD — Quita el decimal y encuentra el resto

Excel INT, TRUNC y MOD — Quita el decimal y encuentra el resto

INT y TRUNC quitan los decimales, pero INT redondea hacia menos infinito mientras que TRUNC simplemente corta hacia el cero, así que se separan con los números negativos. MOD devuelve el resto y, en Excel, el resto toma el signo del divisor, no el del número. Aprende la trampa del desfase de uno, cómo separar fechas de horas y el patrón de filas con bandas.

Henry
Función IF en Excel — Una sola bifurcación sí/no, y cuándo dejar de anidar

Función IF en Excel — Una sola bifurcación sí/no, y cuándo dejar de anidar

IF hace una sola pregunta de sí/no y devuelve una de dos respuestas. Aprende por qué un tercer argumento ausente muestra FALSE, por qué las pirámides de IF anidados se desmoronan pasados los dos niveles (usa IFS o una búsqueda en su lugar), cómo combinar condiciones con AND/OR en vez de anidar, y por qué la comparación de texto de IF ignora mayúsculas y minúsculas.

Henry
Funciones IFS y SWITCH en Excel — Lógica de varias vías sin la pirámide de IF anidados

Funciones IFS y SWITCH en Excel — Lógica de varias vías sin la pirámide de IF anidados

IFS comprueba una lista de condiciones de arriba abajo y devuelve la primera coincidencia; SWITCH compara un valor contra una lista de casos. Aprende las dos trampas que causan casi todos los errores — IFS no tiene un else integrado (un default omitido devuelve #N/A) y gana la primera coincidencia, así que el orden importa — además de cuándo usar IFS frente a SWITCH frente a una tabla de búsqueda.

Henry