You are on page 1of 31

http://www.jrgc.es/index.

htm
FRMULAS VARIAS
Pgina inicial
Notas:
Dependiendo de la configuracin regional del equipo, los puntos y comas de estas
frmulas podran tener que ser sustituidos por comas.
Bastantes frmulas aparecen encerradas entre llaves { }. Esto significa que son frmulas
matriciales, y que para introducirlas es necesario pulsar Maysculas+Control+Entrada al
mismo tiempo. Las llaves propiamente dichas no hay que teclearlas: si todo va bien,
deberan aparecer en la barra de frmulas despus de introducirla como matricial.
La funcin SUMAPRODUCTO que se usa en algunas frmulas no puede utilizarse con
columnas completas en Excel 2003 (pero s con filas completas) y, adems, conviene
ajustar al mximo los rangos que se le pasan como argumentos a esta funcin porque
evala todas las celdas de dichos rangos, estn o no vacas. Esta misma recomendacin
es vlida tambin para las frmulas matriciales.
Algunas frmulas son bastante complejas de forma que, a pesar de que las he probado
varias veces antes de ponerlas aqu, pudiera darse el caso de que no funcionaran bien en
todas las situaciones. Si encuentras alguno de estos casos, puedes notificrmelo a la
siguiente direccin de correo electrnico: excel_jrgc ARROBA yahoo.es, e intentar
arreglarlo.
En esta pgina estn todas las frmulas sin un orden en concreto. Hay un ndice por temas
en este enlace.
En Excel 2010 Microsoft ha cambiado el nombre de algunas funciones. Una tabla con los
cambios ms notables puede consultarse aqu. ACTUALIZACIN JUNIO DE 2011: con el
lanzamiento del Service Pack 1 para Office 2010, Microsoft se ha corregido a s misma y
ha revertido los cambios de nombres de funciones.
Poner en una celda el nombre del libro: [Ejemplo]
=EXTRAE(CELDA("nombrearchivo");ENCONTRAR("[";CELDA("nombrearchivo"))+1;ENCONTRAR
("]";CELDA("nombrearchivo"))-ENCONTRAR("[";CELDA("nombrearchivo"))-1)
Nota: para que esto funcione es necesario haber guardado el libro al menos una vez.
Poner en una celda el nombre de la hoja: [Ejemplo]
=EXTRAE(CELDA("nombrearchivo";A1);ENCONTRAR("]";CELDA("nombrearchivo";A1))+1;32)
Si el libro tiene una sola hoja y adems libro y hoja se llaman igual, es necesario complicar
bastante la frmula: [Ejemplo]
=SI(ESERROR(EXTRAE(CELDA("nombrearchivo";A1);ENCONTRAR("]";CELDA("nombrearchivo";
A1))+1;32));EXTRAE(SUSTITUIR(CELDA("nombrearchivo";A1);"\";"*";LARGO(CELDA("nombrearc
hivo";A1))-
LARGO(SUSTITUIR(CELDA("nombrearchivo";A1);"\";"")));ENCONTRAR("*";SUSTITUIR(CELDA("n
ombrearchivo";A1);"\";"*";LARGO(CELDA("nombrearchivo";A1))-
LARGO(SUSTITUIR(CELDA("nombrearchivo";A1);"\";""))))+1;32);EXTRAE(CELDA("nombrearchivo
";A1);ENCONTRAR("]";CELDA("nombrearchivo";A1))+1;32))
Saber la edad exacta (o cualquier otro perodo de tiempo) expresada en aos, meses y das:
[Ejemplo]
=SIFECHA(A1;HOY();"y") & " aos " & SIFECHA(A1;HOY();"ym") & " meses " &
SIFECHA(A1;HOY();"md") & " das"
(suponiendo que la fecha de nacimiento estuviera en A1 y que se quisiera saber la edad a fecha de
hoy).
Si no se desea que aparezcan incoherencias como, por ejemplo, "0 meses" o "1 das", se puede
usar una frmula ms compleja:
=SI(SIFECHA(A1;HOY();"y")>0;SIFECHA(A1;HOY();"y")&"
"&ELEGIR(MIN(SIFECHA(A1;HOY();"y")+1;3);"";"ao ";"aos
");"")&SI(SIFECHA(A1;HOY();"ym")>0;SIFECHA(A1;HOY();"ym")&"
"&ELEGIR(MIN(SIFECHA(A1;HOY();"ym")+1;3);"";"mes ";"meses
");"")&SI(SIFECHA(A1;HOY();"md")>0;SIFECHA(A1;HOY();"md")&"
"&ELEGIR(MIN(SIFECHA(A1;HOY();"md")+1;3);"";"da ";"das ");"")
Esta misma frmula, con unas pequeas modificaciones, sirve tambin para convertir en aos,
meses y das un nmero de das determinados (valgan como ejemplo los nmeros de das que
figuran en los informes de vida laboral de la Seguridad Social espaola). Si el numero de das a
convertir est en A1 la frmula sera:
=SI(SIFECHA(--"1-1-1900";A1+2;"y")>0;SIFECHA(--"1-1-1900";A1+2;"y")&"
"&ELEGIR(MIN(SIFECHA(--"1-1-1900";A1+2;"y")+1;3);"";"ao ";"aos ");"")&SI(SIFECHA(--"1-1-
1900";A1+2;"ym")>0;SIFECHA(--"1-1-1900";A1+2;"ym")&" "&ELEGIR(MIN(SIFECHA(--"1-1-
1900";A1+2;"ym")+1;3);"";"mes ";"meses ");"")&SI(SIFECHA(--"1-1-1900";A1+2;"md")>0;SIFECHA(-
-"1-1-1900";A1+2;"md")&" "&ELEGIR(MIN(SIFECHA(--"1-1-1900";A1+2;"md")+1;3);"";"da ";"das
");"")
Como curiosidad, en esta frmula todos los +2 deberan ser +1. Esa unidad adicional es necesaria
porque Excel, para no perder la compatibilidad, "hered" un error procedente de Lotus 1-2-3, que
errneamente consideraba que el ao 1900 fue bisiesto cuando en realidad no lo fue.
Sumar las celdas situadas en las filas impares de una columna: [Ejemplo]
{=SUMA((RESIDUO(FILA(A1:A100);2)=1)*A1:A100)}

=SUMAPRODUCTO((RESIDUO(FILA(A1:A100);2)=1)*A1:A100)
Sumar las celdas situadas en las filas pares de una columna: [Ejemplo]
{=SUMA((RESIDUO(FILA(A1:A100);2)=0)*A1:A100)}

=SUMAPRODUCTO((RESIDUO(FILA(A1:A100);2)=0)*A1:A100)
Sumar las celdas situadas en las columnas impares de una fila (A,C,E, etc.): [Ejemplo]
{=SUMA((RESIDUO(COLUMNA(A1:D1);2)=1)*(A1:D1))}

=SUMAPRODUCTO((RESIDUO(COLUMNA(A1:G1);2)=1)*A1:G1)
Sumar las celdas situadas en las columnas pares de una fila (B,D,F, etc.): [Ejemplo]
{=SUMA((RESIDUO(COLUMNA(A1:D1);2)=0)*(A1:D1))}

=SUMAPRODUCTO((RESIDUO(COLUMNA(A1:G1);2)=0)*A1:G1)
Nota 1: estas frmulas sirven tambin, lgicamente, para sumar cada n filas o columnas. Por
ejemplo, para sumar cada 5 filas de una columna:
{=SUMA((RESIDUO(FILA(A1:A100);5)=0)*A1:A100)}
Saber el nmero de elementos distintos que hay en un rango: [Ejemplo]
Si en el rango no hay celdas vacas, se puede usar:
{=SUMA(1/CONTAR.SI(A1:A10;A1:A10))}

=SUMAPRODUCTO(1/CONTAR.SI(A1:A10;A1:A10))
Si hubiera o pudiera haber celdas vacas:
{=SUMA((A1:A10<>"")/CONTAR.SI(A1:A10;A1:A10&""))}

=SUMAPRODUCTO((A1:A10<>"")/CONTAR.SI(A1:A10;A1:A10&""))
(lgicamente, estas dos funciones se pueden usar tambin si no hay celdas vacas)
y si slo hubiera nmeros en las celdas se podra usar:
=SUMA(SIGNO(FRECUENCIA(A1:A10;A1:A10)))
que sirve tanto si hay celdas vacas como si no las hay.
Hallar la suma de los valores nicos en un rango: [Ejemplo]
Si se necesita saber la suma de los valores nicos de un rango con nombre llamado Lista (es decir,
sumando una sola vez cada valor aunque est ms de una vez en el rango), se puede usar la
frmula:
{=SUMA(Lista/CONTAR.SI(Lista;Lista))}
Lo mismo hace;
=SUMAPRODUCTO(Lista/CONTAR.SI(Lista;Lista))
Nota: el rango no puede tener ni celdas vacas, ni textos, ni valores lgicos. Si hubiera fechas, la
frmula las considerara nmeros.
Mostrar los datos de una lista omitiendo los duplicados [Ejemplo]
Suponiendo que en un rango con nombre llamado 'Lista' (de una sola columna y sin celdas vacas)
hay un conjunto de datos uno o ms de los cuales pueden estar repetidos, y que se necesita una
lista en la que se hayan eliminado los duplicados, se podra usar:
{=INDICE(Lista;K.ESIMO.MENOR(SI(COINCIDIR(Lista;Lista;0)=FILA(INDIRECTO("1:"&CONTARA
(Lista)));COINCIDIR(Lista;Lista;0);"");FILA()))}
La frmula anterior habra que ponerla en la fila 1 de una columna cualquiera, y copiarla hacia
abajo. Cuando no quedaran ms datos que mostrar, comenzara a aparecer el error #NUM!
Si la frmula matricial hubiera de estar situada en una fila distinta a la 1, habra que restar el
nmero de dicha fila menos uno en la segunda vez que aparece la funcin FILA(). Por ejemplo,
para empezar en la fila 5:
{=INDICE(Lista;K.ESIMO.MENOR(SI(COINCIDIR(Lista;Lista;0)=FILA(INDIRECTO("1:"&CONTARA
(Lista)));COINCIDIR(Lista;Lista;0);"");FILA()-4))}
Si el rango con nombre 'Lista' estuviera dispuesto en una fila en lugar de en una columna, las
frmulas seran:
{=INDICE(Lista;K.ESIMO.MENOR(SI(TRANSPONER(COINCIDIR(Lista;Lista;0))=FILA(INDIRECTO
("1:"&CONTARA(Lista)));TRANSPONER(COINCIDIR(Lista;Lista;0));"");FILA()))}
e
{=INDICE(Lista;K.ESIMO.MENOR(SI(TRANSPONER(COINCIDIR(Lista;Lista;0))=FILA(INDIRECTO
("1:"&CONTARA(Lista)));TRANSPONER(COINCIDIR(Lista;Lista;0));"");FILA()-4))}
Obtener una lista ordenada de los valores nicos de un rango. [Ejemplo]
Suponiendo que en un rango con nombre llamado "Lista" (de una sola columna y sin celdas vacas)
hay un conjunto de valores que pueden estar repetidos, y que se necesita una lista ordenada de
mayor a menor de los valores nicos (sin repeticiones), la frmula sera:
{=SI(ESERROR(K.ESIMO.MAYOR(SI(FRECUENCIA(Lista;Lista)>0;Lista);FILA()));"Valor
repetido";K.ESIMO.MAYOR(SI(FRECUENCIA(Lista;Lista)>0;Lista);FILA()))}
Si se deseara que la lista estuviera ordenada de menor a mayor, la frmula sera:
{=SI(ESERROR(K.ESIMO.MENOR(SI(FRECUENCIA(Lista;Lista)>0;Lista);FILA()));"Valor
repetido";K.ESIMO.MAYOR(SI(FRECUENCIA(Lista;Lista)>0;Lista);FILA()))}
En Excel 2007-2010 es posible utilizar la funcin SI.ERROR en lugar de la pareja SI y ESERROR,
con lo que las frmulas resultan bastante ms cortas y eficientes:
{=SI.ERROR(K.ESIMO.MAYOR(SI(FRECUENCIA(Lista;Lista)>0;Lista);FILA());"Valor repetido")}
{=SI.ERROR(K.ESIMO.MENOR(SI(FRECUENCIA(Lista;Lista)>0;Lista);FILA());"Valor repetido")}
La funcin FILA() que utilizan todas las frmulas puede ser sustituida por un entero concreto, en
cuyo caso la frmula devolver el elemento situado en esa posicin en la lista de elementos
nicos.
Si las frmulas hubiesen de estar situadas a partir de una fila distinta a la 1 habra que sustituir
FILA() por FILA()-n, siendo n dicho nmero de fila+1 (por ejemplo, si se tratase de la fila 3 sera
FILA()-2)
Nota: las listas generadas por ambas frmulas tambin pueden servir si lo que se necesita es una
jerarquizacin de los elementos nicos del rango.
Nmeros de puesto nicos. [Ejemplo]
Si, por ejemplo, se tiene un rango con nombre llamado Notas, en el que las notas estn repetidas
(p.ej., 2 dieces, 2 nueves, etc.) y se desea obtener el puesto nico de cada una de ellas (los dos
dieces el primer puesto, los dos nueves el segundo, etc.), la frmula sera:
{=COINCIDIR(A2;K.ESIMO.MAYOR(SI(FRECUENCIA(Notas;Notas)<>0;Notas);FILA(INDIRECTO(
"1:"&SUMA(1/CONTAR.SI(Notas;Notas)))));0)}
Sustituyendo K.ESIMO.MAYOR por K.ESIMO.MENOR es posible obtener los puestos nicos, pero
otorgndole a la nota ms baja el puesto ms alto y as con todas las dems.
Averiguar los valores que faltan en una serie de nmeros enteros [Ejemplo]
Si se quiere un listado de los nmeros que faltan en una serie de nmeros enteros positivos
llamada Lista, se podra usar la frmula:
{=K.ESIMO.MAYOR(SI(CONTAR.SI(Lista;FILA(INDIRECTO(MIN(Lista)&":"&MAX(Lista))))=0;FILA(I
NDIRECTO(MIN(Lista)&":"&MAX(Lista)));0);FILA())}
La frmula habra que ponerla en la fila 1 de una columna vaca y copiarla hacia abajo. Los
nmeros faltantes iran apareciendo de mayor a menor, y cuando no quedaran ms nmeros
faltantes, comenzaran a aparecer ceros.
Si se necesitara que los nmeros faltantes fueran apareciendo ordenados de menor a mayor, se
podra usar la frmula:
{=K.ESIMO.MENOR(SI(CONTAR.SI(Lista;FILA(INDIRECTO(MIN(Lista)&":"&MAX(Lista))))=0;FILA(I
NDIRECTO(MIN(Lista)&":"&MAX(Lista)));FALSO);FILA())}
En este caso, cuando no queden ms nmeros faltantes comenzar a mostrarse el error #!NUM
La serie de nmeros no tiene que estar necesariamente ordenada ni de mayor a menor ni a la
inversa, si bien el ejemplo lo est para mayor claridad. Tampoco sucede nada si uno o ms
nmeros de la serie estn repetidos.
He recibido una consulta que plantea una situacin interesante que me ha hecho escribir una
nueva frmula: se trata de averiguar qu nmeros faltan en una serie cuyo nmero inicial es muy
grande, por ejemplo 10010003456.
En este caso, las formulas anteriores fallaran porque no pueden procesar nmeros superiores al
mximo de filas de Excel (65.536 en la versin 2003, 1.048.576 a partir de la versin 2007), as
que en este caso y similares habra que usar:
{=MIN(Lista)-1+K.ESIMO.MAYOR(SI(ESERROR(COINCIDIR(FILA(INDIRECTO(MIN(Lista)-
MIN(Lista)+1&":"&MAX(Lista)-MIN(Lista)+1));Lista-MIN(Lista)+1;0));FILA(INDIRECTO(MIN(Lista)-
MIN(Lista)+1&":"&MAX(Lista)-MIN(Lista)+1));"");FILA())}
para que los nmeros faltantes aparecieran ordenados de menor a mayor, y sustituir .MENOR por
.MAYOR si el orden deseado fuera el inverso.
Lgicamente, esta ltima frmula puede usarse tambin si la serie comienza con cualquier nmero
ms bajo. Otra ventaja de esta ltima frmula es que puede procesar nmeros enteros negativos y
positivos. El inconveniente es que es ms compleja que la primera.
Si se sabe que tan slo falta un nmero en la serie de enteros positivos y que no hay repeticiones,
es posible utilizar una frmula ms sencilla (aunque ms interesante desde un punto de vista
matemtico) para averiguar cual es el que falta. Por ejemplo, si en la columna A se encuentra la
serie de nmeros (y slo la serie) sin repeticiones, la frmula sera:
=(MIN(A:A)+MAX(A:A))*(MAX(A:A)-MIN(A:A)+1)/2-SUMA(A:A)
Obtener un valor aleatorio de entre las filas con datos de una columna: [Ejemplo]
=INDICE(A:A;REDONDEAR(ALEATORIO()*(CONTARA(A:A)-1)+1;0))
En este caso, los datos estaran en la columna A.
Los datos deben empezar en la fila 1 y no tener celdas vacas entre medias.
Contar y/o sumar las celdas cuyo valor se encuentra entre dos valores dados: [Ejemplo]
=SUMAPRODUCTO((A1:A25>=5)*(A1:A25<=15))
o, usando la funcin CONTAR.SI:
=CONTAR.SI(A1:A25;">=5")-CONTAR.SI(A1:A25;">15")
Ambas frmulas devolveran el nmero de celdas cuyo valor estuviera entre 5 y 15 en el rango
A1:A25.
=SUMAPRODUCTO((A1:A25>=5)*(A1:A25<=15)*A1:A25)
o, usando la funcin CONTAR.SI:
=SUMAR.SI(A1:A25;">=5")-SUMAR.SI(A1:A25;">15")
Ambas frmulas devolveran la suma de los nmeros cuyo valor estuvieran entre 5 y 15 en el
rango A1:A25
Contar las celdas de un determinado mes y ao:
=SUMAPRODUCTO((MES(A1:A15)=1)*(AO(A1:A15)=2009))
En este caso, se contaran las celdas en el rango A1:A15 cuya fecha fuera del mes de enero del
ao 2009.
o, usando las funciones CONTAR.SI y FECHA:
=CONTAR.SI(A1:A15;">="&FECHA(2009;1;1))-CONTAR.SI(A1:A15;">"&FECHA(2009;1;31))
Sumar los X valores mayores o menores en una columna: [Ejemplo]
{=SUMA(K.ESIMO.MAYOR(A1:A50;FILA(INDIRECTO("1:3"))))}
o, usando SUMAPRODUCTO:
=SUMAPRODUCTO(K.ESIMO.MAYOR(A1:A50;FILA(INDIRECTO("1:3"))))
En este caso, se sumaran los 3 valores mayores del rango A1:A50
Para sumar los 3 valores menores, habra que sustituir K.ESIMO.MAYOR por K.ESIMO.MENOR
Nota: Las cuatro frmulas siguientes son ejemplos que trabajan con el rango A1:A100.
Saber el nmero de la primera fila con datos en una columna:
{=MIN(SI(A1:A100<>"";FILA(A1:A100)))}
Saber el valor de la primera fila con datos en una columna:
{=INDICE(A1:A100;MIN(SI(A1:A100<>"";FILA(A1:A100))))}
Saber el nmero de la ltima fila con datos en una columna:
{=MAX((A1:A100<>"")*FILA(A1:A100))}
Saber el valor de la ltima fila con datos en una columna:
=BUSCAR(2;1/(A1:A100<>"");A1:A100)
{=INDICE(A1:A100;MAX(SI(A1:A100<>"";FILA(A1:A100))))}
Nota: Las cuatro frmulas siguientes son ejemplos que trabajan con el rango A1:Z1
Averiguar el nmero de la primera columna con datos en una fila:
{=MIN(SI(A1:Z1<>"";COLUMNA(A1:Z1)))}
Averiguar el valor de la primera columna con datos en una fila:
{=INDICE(A1:Z1;;MIN(SI(A1:Z1<>"";COLUMNA(A1:Z1))))}
Averiguar el nmero de la ltima columna con datos en una fila:
{=MAX((A1:Z1<>"")*COLUMNA(A1:Z1))}
Averiguar el valor de la ltima columna con datos en una fila:
=BUSCAR(2;1/(A1:Z1<>"");A1:Z1)
{=INDICE(A1:Z1;;MAX(SI(A1:Z1<>"";COLUMNA(A1:Z1))))}
Frmulas para conocer el nmero de la primera o ltima fila cuyo valor es distinto de algo (o
su valor):
Imagen (13 kb)
Partiendo del ejemplo anterior, si se necesita:
el nmero de fila de la primera celda cuyo valor no es "a":
{=MIN(SI(A1:A10<>"a";FILA(A1:A10)))}
el valor de dicha celda:
{=DESREF(A1;MIN(SI(A1:A10<>"a";FILA(A1:A10)))-1;0)}
el nmero de fila de la ltima celda cuyo valor no es "a":
{=MAX(SI(A1:A10<>"a";FILA(A1:A10)))}
el valor de dicha celda:
{=DESREF(A1;MAX(SI(A1:A10<>"a";FILA(A1:A10)))-1;0)}
Si hubiera o pudiera haber celdas vacas en el rango a evaluar, habra que sustituir las dos
primeras frmulas por:
para el nmero de fila:
{=MIN(SI(A1:A10<>"a";SI(A1:A10<>"";FILA(A1:A10))))}
para el valor:
{=DESREF(A1;MIN(SI(A1:A10<>"a";SI(A1:A10<>"";FILA(A1:A10))))-1;0)}
Averiguar el nmero de veces en que coinciden los valores de dos columnas
Imagen (19 kb)
En este ejemplo se necesita saber cuantas veces tienen el mismo valor ambas celdas de la misma
fila. Dos posibilidades para lograrlo:
{=SUMA((A1:A10=B1:B10)*1)}
=SUMAPRODUCTO((A1:A10=B1:B10)*1)
Estas mismas frmulas serviran si la comparacin hubiera de hacerse entre dos filas:
{=SUMA((A1:J1=A2:J2)*1)}
=SUMAPRODUCTO((A1:J1=A2:J2)*1)
Saber el valor mnimo o el valor mximo que hay en un rango a partir de un valor dado
La funcin MIN devuelve el valor mnimo de un rango, pero si se necesita hallar el mnimo a partir
de un nmero determinado (por ejemplo, excluyendo los ceros y nmeros negativos), se puede
usar:
{=MIN(SI(A1:A10>0;A1:A10))}
De igual forma, si se necesita saber el valor mximo a partir de un valor determinado se puede
usar:
{=MAX(SI(A1:A10<10;A1:A10))}
En este caso, la frmula devolvera el valor mximo en A1:A10 excluyendo los valores superiores a
10.
Encontrar un valor en un rango de varias filas y columnas [Ejemplo]
Si, por ejemplo, se desea averiguar la direccin de la celda en la que se encuentra el nmero
111111 dentro del rango con nombre Datos, la frmula sera:
{=DIRECCION(COINCIDIR(1;SIGNO(CONTAR.SI(DESREF(Datos;FILA(Datos)-
CELDA("fila";Datos);0;1;);111111));0);COINCIDIR(1;SIGNO(CONTAR.SI(DESREF(Datos;;COLUM
NA(Datos)-CELDA("columna";Datos);;1);111111));0))}
A partir de Excel 2007 se puede utilizar esta frmula junto con ESERROR (y NO) como frmula
para una regla de validacin. En Excel 2003 y versiones anteriores esto no es posible porque las
frmulas necesarias superaran el lmite de siete niveles de anidamiento permitidos.
Conviene recordar que la funcin DIRECCION admite otros dos argumentos adicionales (tres en
realidad, pero el ltimo no nos interesa en lo que concierne a esta frmula):
- direccin absoluta, relativa o una mezcla de ambas
- estilo de referencia A1 (por defecto) o R1C1 (si se pone un 0 como ltimo argumento)
Frmulas para averiguar el ttulo de la columna o de la fila en que se encuentra el valor
mximo o mnimo de un rango
Imagen (28 kb)
A partir del ejemplo, si se necesita:
El encabezado de la columna en que aparece por primera vez el valor mayor:
{=INDICE(B1:D1;MIN(SI(MAX(B2:D4)=B2:D4;COLUMNA(B2:D4)))-1)}
El encabezado de la columna en que aparece por ltima vez el valor mayor:
{=INDICE(B1:D1;MAX((B2:D4=MAX(B2:D4))*COLUMNA(B2:D4))-1)}
El encabezado de la columna en que aparece por primera vez el valor menor:
{=INDICE(B1:D1;MIN(SI(MIN(B2:D4)=B2:D4;COLUMNA(B2:D4)))-1)}
El encabezado de la columna en que aparece por ltima vez el valor menor:
{=INDICE(B1:D1;MAX((B2:D4=MIN(B2:D4))*COLUMNA(B2:D4))-1)}
El encabezado de la fila en que aparece por primera vez el valor mayor:
{=INDICE(A2:A4;MIN(SI(MAX(B2:D4)=B2:D4;FILA(B2:D4)))-1)}
El encabezado de la fila en que aparece por ltima vez el valor mayor:
{=INDICE(A2:A4;MAX((B2:D4=MAX(B2:D4))*FILA(B2:D4))-1)}
El encabezado de la fila en que aparece por primera vez el valor menor:
{=INDICE(A2:A4;MIN(SI(MIN(B2:D4)=B2:D4;FILA(B2:D4)))-1)}
El encabezado de la fila en que aparece por ltima vez el valor menor:
{=INDICE(A2:A4;MAX((B2:D4=MIN(B2:D4))*FILA(B2:D4))-1)}
Sumar las cantidades correspondientes a los ltimos doce meses
Suponiendo que en el rango A1:A50 hay una serie de fechas, en B1:B50 unos importes
correspondientes a cada una de dichas fechas, y que se necesitara saber la suma de los importes
correspondientes a los ltimos doce meses, se podra usar:
=SUMAPRODUCTO((A1:A50>=FECHA(AO(HOY())-
1;MES(HOY());1))*(A1:A50<FECHA(AO(HOY());MES(HOY());1));B1:B50)
Y si se necesitara excluir de la suma los importes correspondientes al mes en curso, la frmula
sera:
=SUMAPRODUCTO((A1:A50>=FECHA(AO(HOY())-
1;MES(HOY())+1;1))*(A1:A50<FECHA(AO(HOY());MES(HOY());1));B1:B50)
Totalizar por semanas los importes de una tabla de meses y das
ver libro con un ejemplo (34 kb)
Nota sobre este ejemplo: la gran cantidad de frmulas matriciales -cincuenta y tres- que tiene la
nica hoja de este libro, junto con el gran nmero de clculos necesarios, hace que el reclculo
tenga un retardo perceptible.
Calcular un descuento en funcin de un baremo y de la cantidad comprada o vendida
Imagen (79 kb)
Si se necesita aplicar un descuento dependiendo del nmero de unidades compradas o vendidas,
es posible hacerlo anidando SIes, siempre y cuando los tramos del baremo sean siete o menos
(hasta Excel 2003). Usando los datos del ejemplo:
=SI(D2<=10;0,05;SI(D2<=20;0,08;SI(D2<=30;0,11;SI(D2<=40;0,14;SI(D2<=50;0,17;SI(D2<=60;0,2;
SI(D2<=70;0,23)))))))
Pero si los tramos son ms de siete (que es el caso del ejemplo), se puede recurrir a una frmula
matricial:
{=SI(D2>0;SI(D2>0;INDICE(B$2:B$11;MIN(SI((A$2:A$11>=D2);FILA(A$2:A$11)-1));1);0);0)}
Averiguar la fecha del domingo de Pascua de un ao (entre 1900 y 2203)
La siguiente frmula devuelve la fecha del domingo de Pascua del ao especificado en A1. Su
autor es Thomas Jansen. Fue presentada a un concurso para encontrar la frmula ms corta para
determinar el domingo de Pascua, que se desarroll en el sitio web de Hans W. Herber
(http://www.herber.de). La frmula en ingls es:
=DOLLAR((DAY(MINUTE(A1/38)/2+55)&".4."&A1)/7,)*7-6
Yo lo nico que he hecho ha sido traducirla al Excel en espaol:
=MONEDA((DIA(MINUTO(A1/38)/2+55)&"-4-" & A1)/7;)*7-6
Lgicamente, tambin es posible sustituir la referencia a la celda A1 por un ao. Por ejemplo, para
el ao 2008:
=MONEDA((DIA(MINUTO(2008/38)/2+55)&"-4-" & 2008)/7;)*7-6
Otra, un poco ms larga:
=MULTIPLO.INFERIOR(DIA(MINUTO(A1/38)/2+56)&"-5-"&A1;7)-34
Nota: Pedro Wave me ha corregido amablemente el rango de fechas de estas frmulas y me
seala que fallan para el ao 2079. Sugiero visitar su blog en el que se trata el tema del clculo del
domingo de Pascua en Excel de forma minuciosa.
La celda en la que se ponga cualquiera de las dos frmulas ha de tener formato de fecha, dado
que devuelven un nmero de serie.
Averiguar cual es el siguiente ao Jacobeo
Para averiguar cual es el prximo ao Jacobeo (el da 25 de julio es domingo), se puede usar la
frmula:
{=AO(HOY())+COINCIDIR(VERDADERO;DIASEM(FECHA(AO(HOY())+FILA(INDIRECTO("1:11
"))-1;7;25))=1;0)-1}
Averiguar el valor mximo de la suma de las celdas de varias columnas (o filas)
Por ejemplo, en el rango A1:C10 hay una serie de valores, y lo que se necesita es el valor mximo
de la suma de cada conjunto de tres celdas de cada fila. La frmula sera:
{=MAX(A1:A10+B1:B10+C1:C10)}
Para saber en qu fila se encuentra el mximo anterior, la frmula sera:
{=SUMA((MAX(A1:A10+B1:B10+C1:C10)=(A1:A10+B1:B10+C1:C10))*FILA(A1:A10))}
si no hay duplicados, y:
{=MAX((MAX(A1:A10+B1:B10+C1:C10)=(A1:A10+B1:B10+C1:C10))*FILA(A1:A10))}
si pudiera haberlos. sta frmula devuelve el nmero de la ltima fila cuyas celdas suman el valor
mximo.
Las frmulas para averiguar el valor mnimo son muy parecidas a las anteriores:
{=MIN(A1:A10+B1:B10+C1:C10)}
{=SUMA((MIN(A1:A10+B1:B10+C1:C10)=(A1:A10+B1:B10+C1:C10))*FILA(A1:A10))}
{=MAX((MIN(A1:A10+B1:B10+C1:C10)=(A1:A10+B1:B10+C1:C10))*FILA(A1:A10))}
Las frmulas para el caso de que los datos estuvieran situados de forma horizontal (p.ej., A1:J3)
seran:
{=MAX(A1:J1+A2:J2+A3:J3)}
{=SUMA((MAX(A1:J1+A2:J2+A3:J3)=(A1:J1+A2:J2+A3:J3))*COLUMNA((A1:J3)))}
{=MAX((MAX(A1:J1+A2:J2+A3:J3)=(A1:J1+A2:J2+A3:J3))*COLUMNA(A1:J1))}
para el valor mximo, y:
{=MIN(A1:J1+A2:J2+A3:J3)}
{=SUMA((MIN(A1:J1+A2:J2+A3:J3)=(A1:J1+A2:J2+A3:J3))*COLUMNA((A1:J3)))}
{=MAX((MIN(A1:J1+A2:J2+A3:J3)=(A1:J1+A2:J2+A3:J3))*COLUMNA(A1:J1))}
para el valor mnimo.
Contar y resumir datos filtrados [Ejemplo]
Normalmente, las funciones de Excel para resumir o contar datos en base a criterios trabajaran
con la lista completa (a excepcin de la funcin SUBTOTALES, que por defecto trabaja con los
datos visibles), pero Laurent Longre descubri hace aos una forma de usar la funcin DESREF
que permite trabajar tan slo con las filas visibles en cada momento en el rango filtrado.
Partiendo del ejemplo anterior, si por ejemplo se necesitara (siempre sobre las filas visibles):
sumar las celdas de la columna B cuyo valor fuera superior a 50, la frmula sera:
{=SUMA((B2:B15>50)*(SUBTOTALES(3;DESREF(A2:A15;FILA(A2:A15)-
MIN(FILA(A2:A15));;1)))*B2:B15)}
contar dichas celdas:
{=SUMA((B2:B15>50)*(SUBTOTALES(3;DESREF(A2:A15;FILA(A2:A15)-MIN(FILA(A2:A15));;1))))}
sumar las celdas visibles de la columna B:
{=SUMA((SUBTOTALES(3;DESREF(A2:A15;FILA(A2:A15)-MIN(FILA(A2:A15));;1)))*B2:B15)}
(Nota: =SUBTOTALES(9;B2:B15) hace lo mismo, la frmula anterior es slo otro ejemplo de esta
forma de usar DESREF)
contar dichas celdas:
{=SUMA((SUBTOTALES(3;DESREF(A2:A15;FILA(A2:A15)-MIN(FILA(A2:A15));;1))))}
(Nota: =SUBTOTALES(2;B2:B15) hace lo mismo, la frmula anterior es slo otro ejemplo de esta
forma de usar DESREF)
contar los valores nicos en el rango de valores filtrado (B2:B15 en el ejemplo):
{=SUMA(SIGNO(FRECUENCIA(SI(SUBTOTALES(3;DESREF(B2:B15;FILA(B2:B15)-
2;;1))>0;B2:B15);SI(SUBTOTALES(3;DESREF(B2:B15;FILA(B2:B15)-2;;1))>0;B2:B15)))}
averiguar el nmero de fila de la primera que cumple la condicin activa:
{=COINCIDIR(1;SUBTOTALES(3;DESREF(A2:A15;FILA(A2:A15)-MIN(FILA(A2:A15));;1));0)+1}
averiguar el nmero de fila de la ltima que cumple la condicin activa:
{=MAX(SUBTOTALES(3;DESREF(A2:A15;FILA(A2:A15)-MIN(FILA(A2:A15));;1))*FILA(A2:A15))}
averiguar el valor activo en el filtro:
{=SI(SUMA((SUBTOTALES(3;DESREF(A2:A15;FILA(A2:A15)-
MIN(FILA(A2:A15));;1))))=FILAS(A2:A15);"No hay filtro
activo.";INDICE(A2:A15;COINCIDIR(1;SUBTOTALES(3;DESREF(A2:A15;FILA(A2:A15)-
MIN(FILA(A2:A15));;1));0)))}
Nota sobre esta ltima frmula: hasta Excel 2003 tan slo poda haber una condicin activa en el
filtro, pero en la versiones siguientes es posible tener activa ms de una condicin al mismo
tiempo. La frmula que devuelve una por una todas las condiciones activas es:
{=SI(SUMA((SUBTOTALES(3;DESREF(A2:A15;FILA(A2:A15)-
MIN(FILA(A2:A15));;1))))=FILAS(A2:A15);"No hay filtro
activo.";INDICE(A2:A15;INDICE(K.ESIMO.MENOR(SI(FILA(A2:A15)-
1=SI(SUBTOTALES(3;DESREF(A2:A15;FILA(A2:A15)-
MIN(FILA(A2:A15));;1));COINCIDIR(A2:A15;A2:A15;0));FILA(A2:A15));FILA(INDIRECTO("1:"&FILA
S(A2:A15))));1)))}
que devolver la primera condicin activa. Para devolver las siguientes, habra que sustituir el
ltimo 1 de la frmula por el nmero que se desee.
Esta frmula trabaja con el supuesto de que hay tan slo una fila de ttulos. Si hubiese ms, habra
que sustituir el -1 por dicho nmero.
Hay disponible otro libro de ejemplo con esta frmula, que slo funcionar a partir de la versin 2007
puesto que supera el lmite de niveles de anidamiento permitidos hasta Excel 2003.
Frmula que simula la funcin BUSCARV, pero buscando en dos columnas
Imagen (19 kb)
En el ejemplo se necesita averiguar el valor de la celda de la columna C en cuya fila la columna A
tiene el valor 20 y la columna B tiene el valor 2. La frmula sera:
{=INDIRECTO("C"&COINCIDIR("202";A1:A9&B1:B9;0))}
o, usando la funcin INDICE:
{=INDICE(C1:C9;COINCIDIR("202";A1:A9&B1:B9;0))}
Averiguar la posicin de la ltima aparicin de un carcter en un texto
La funcin HALLAR devuelve la posicin en que aparece por primera vez un carcter dentro de
una cadena de texto, pero si se necesita saber la posicin en que aparece por ltima vez se puede
usar la frmula:
=ENCONTRAR(CARACTER(255);SUSTITUIR(A1;"b";CARACTER(255);LARGO(A1)-
LARGO(SUSTITUIR(A1;"b";""))))
En este caso la frmula devolvera la posicin de la ltima b dentro del texto que est en A1.
CARACTER(255) puede sustituirse por cualquier otro carcter que se sepa que en ningn caso va
a estar en el texto. Por ejemplo, si se supiera con seguridad que no va a haber ningn cero se
podra usar:
=ENCONTRAR("0";SUSTITUIR(A1;"b";"0";LARGO(A1)-LARGO(SUSTITUIR(A1;"b";""))))
Extraer los nmeros situados a la derecha o a la izquierda en una cadena de texto.
[Ejemplo]
Si se desea extraer el nmero situado a la derecha en una cadena situada en A1 (por ejemplo,
extraer 9854 de la cadena abcd9854), pero la longitud del nmero no es fija, se puede usar:
{=BUSCAR(9,99999999999999E+307;1*(DERECHA(A1;FILA(INDIRECTO("1:"&LARGO(A1))))))}
Para extraer el nmero situado a la izquierda (por ejemplo, extraer 9854 de la cadena 9854abcd),
lo nico que habra que hacer es sustituir DERECHA por IZQUIERDA.
Estas frmulas funcionarn con nmeros con decimales, siempre que el separador decimal en la
cadena de texto sea el mismo que el establecido en la configuracin regional del equipo.
Extraer un nmero de una cadena de texto [Ejemplo]
Si se tiene que extraer un nmero de una cadena de texto situada en A1 pero la posicin del
nmero no es fija, se puede usar la siguiente frmula:
{=EXTRAE(A1;COINCIDIR(1;1*ESNUMERO(1*EXTRAE(A1;FILA(INDIRECTO("1:"&LARGO(A1)));
1));0);LARGO(A1)-COINCIDIR(1;1*ESNUMERO(1*EXTRAE(A1;LARGO(A1)-
FILA(INDIRECTO("1:"&LARGO(A1)))+1;1));0)+1-
COINCIDIR(1;1*ESNUMERO(1*EXTRAE(A1;FILA(INDIRECTO("1:"&LARGO(A1)));1));0)+1)}
La frmula devolver el nmero como cadena de texto. Si se necesitase convertirlo en su valor
para poder operar numricamente con l, lo nico que habra que hacer es multiplicar por 1 el
resultado (es decir, sustituir =EXTRAE por =1*EXTRAE)
La frmula sirve tambin para extraer una fecha o una hora de una cadena de texto. En este caso
sera posible convertir a hora la cadena de texto devuelta por la frmula usando la funcin
VALHORA (HORANUMERO en versiones anteriores a la 2010) o la funcin VALFECHA
(FECHANUMERO en versiones anteriores de Excel) para convertirla a fecha.
Hay que tener en cuenta que tan slo puede haber un nmero en la cadena de texto. Es decir, por
ejemplo la frmula funcionar con la cadena "extraer 125,50 de esta cadena" (devolver 125,50),
pero no con "extraer 125 y 250 de esta cadena" (devolver "125 y 250").
Si se sabe con seguridad que los nmeros a extraer de las cadenas de texto son enteros (no
tienen decimales), es posible utilizar una frmula ms sencilla:
{=EXTRAE(A1;COINCIDIR(1;1*ESNUMERO(1*EXTRAE(A1;FILA(INDIRECTO("1:"&LARGO(A1)));
1));0);CONTAR(1*EXTRAE(A1;FILA(INDIRECTO("1:"&LARGO(A1)));1)))}
Extraer todos los caracteres numricos de una cadena de texto [Ejemplo] <--Este ejemplo
slo funciona en Excel 2007 y 2010
Una complicacin de la frmula anterior sirve para extraer todos los caracteres numricos de una
cadena de texto, con la limitacin de que tan slo puede haber 14 caracteres numricos, como
mximo, a la derecha del primer nmero que no sea cero. Es decir, la frmula funcionar con, por
ejemplo, la cadena "xxx0000000000000abc123de45678fg901hi2345jk" (devolver
0000000000000123456789012345), pero no lo hara con "ab1234cd5678efg9012hi345jk6789"
(devolvera 123456789012346000). Esto es debido a la precisin nmerica de Excel, que es de 15
dgitos.
Esta frmula slo funcionar a partir de la versin 2007 ya que supera los siete niveles de
anidamiento permitidos como mximo hasta la versin 2003, y es posiblemente una de las ms
"desmesuradas" de las que hay en esta pgina, lo que quizs pueda resultar un poco sorprendente
porque, en principio, la tarea no parece muy complicada, pero en realidad para una sola frmula s
lo es:
{=REPETIR("0";COINCIDIR(1;ESNUMERO(1*EXTRAE(A1;FILA(INDIRECTO("1:"&LARGO(A1)));1)
)*(EXTRAE(A1;FILA(INDIRECTO("1:"&LARGO(A1)));1)<>"0");0)-
LARGO(SUSTITUIR(IZQUIERDA(A1;COINCIDIR(1;ESNUMERO(1*EXTRAE(A1;FILA(INDIRECTO
("1:"&LARGO(A1)));1))*(EXTRAE(A1;FILA(INDIRECTO("1:"&LARGO(A1)));1)<>"0");0));"0";"")))&S
UMA(EXTRAE(A1;K.ESIMO.MAYOR(ESNUMERO(1*EXTRAE(A1;FILA(INDIRECTO("1:"&LARGO(
A1)));1))*FILA(INDIRECTO("1:"&LARGO(A1)));FILA(INDIRECTO("1:"&CONTAR(1*EXTRAE(A1;FI
LA(INDIRECTO("1:"&LARGO(A1)));1)))));1)*10^(FILA(INDIRECTO("1:"&CONTAR(1*EXTRAE(A1;F
ILA(INDIRECTO("1:"&LARGO(A1)));1))))-1))}
En la frmula propuesta, a la expresin necesaria para extraer los nmeros (a partir de SUMA), ya
de por s bastante larga y complicada (282 caracteres), hay que anteponerle una an ms larga
expresin adicional (299 caracteres) para contar los posibles ceros a la izquierda y anteponerlos al
resto de dgitos para evitar que se pierdan. Por lo tanto, si lo que se necesita es el valor numrico
de los caracteres numricos de la cadena (lo que, lgicamente, implica despreciar los ceros que
pudiera haber a la izquierda), es posible prescindir de esa parte de la frmula (hasta el & de
"&SUMA" incluido), con lo que adquiere un tamao ms manejable, aunque sigue sin poder ser
utilizada en las versiones anteriores a Excel 2007 dado que mantiene intacta su estructura de
anidamientos:
{=SUMA(EXTRAE(A1;K.ESIMO.MAYOR(ESNUMERO(1*EXTRAE(A1;FILA(INDIRECTO("1:"&LAR
GO(A1)));1))*FILA(INDIRECTO("1:"&LARGO(A1)));FILA(INDIRECTO("1:"&CONTAR(1*EXTRAE(A
1;FILA(INDIRECTO("1:"&LARGO(A1)));1)))));1)*10^(FILA(INDIRECTO("1:"&CONTAR(1*EXTRAE(
A1;FILA(INDIRECTO("1:"&LARGO(A1)));1))))-1))}
Si se tratara de un nmero con decimales (por ejemplo extraer el nmero 987,0654 de la cadena
"a9b8c7,0d6e5f4"), se podra usar la frmula:
{=SUMA(EXTRAE(A1;K.ESIMO.MAYOR(ESNUMERO(1*EXTRAE(A1;FILA(INDIRECTO("1:"&LAR
GO(A1)));1))*FILA(INDIRECTO("1:"&LARGO(A1)));FILA(INDIRECTO("1:"&CONTAR(1*EXTRAE(A
1;FILA(INDIRECTO("1:"&LARGO(A1)));1)))));1)*10^(FILA(INDIRECTO("1:"&CONTAR(1*EXTRAE(
A1;FILA(INDIRECTO("1:"&LARGO(A1)));1))))-
1))/10^CONTAR(1*EXTRAE(DERECHA(A1;LARGO(A1)-
ENCONTRAR(",";A1));FILA(INDIRECTO("1:"&LARGO(DERECHA(A1;LARGO(A1)-
ENCONTRAR(",";A1)))));1))}
en la que si el separador decimal fuese el punto en vez de la coma habra que sustituir los "," por
".".
Si no se sabe con seguridad cual podr ser el separador decimal en el equipo en el que se vaya a
usar esta ltima frmula, es posible complicarla todava un poco ms para que ella misma lo
averige:
{=SUMA(EXTRAE(A1;K.ESIMO.MAYOR(ESNUMERO(1*EXTRAE(A1;FILA(INDIRECTO("1:"&LAR
GO(A1)));1))*FILA(INDIRECTO("1:"&LARGO(A1)));FILA(INDIRECTO("1:"&CONTAR(1*EXTRAE(A
1;FILA(INDIRECTO("1:"&LARGO(A1)));1)))));1)*10^(FILA(INDIRECTO("1:"&CONTAR(1*EXTRAE(
A1;FILA(INDIRECTO("1:"&LARGO(A1)));1))))-
1))/10^CONTAR(1*EXTRAE(DERECHA(A1;LARGO(A1)-
ENCONTRAR(EXTRAE(1/2;2;1);A1));FILA(INDIRECTO("1:"&LARGO(DERECHA(A1;LARGO(A1)-
ENCONTRAR(EXTRAE(1/2;2;1);A1)))));1))}
Estas frmulas procesan la cadena de texto situada en A1.
Extraer una direccin de correo electrnico de una cadena de texto [Ejemplo]
Sospecho que esta frmula podra ser utilizada para fines maliciosos, pero como tambin podra
ser til para alguien con buenas intenciones he decidido ponerla.

Se trata de extraer la direccin de correo electrnico de una celda en la que se encuentran datos
personales (nombre, direccin, etc.) adems de la direccin de correo electrnico. La frmula est
escrita para el supuesto de que los datos estn separados por comas, pero funcionara igual si el
separador fuese otro, aunque lgicamente habra que sustituir las comas por el separador que
fuese:

{=EXTRAE(A1&" ";MAX(SI((EXTRAE(SUSTITUIR(A1&" ";",";"
");FILA(INDIRECTO("1:"&LARGO(A1)+1));1)="
")*(FILA(INDIRECTO("1:"&LARGO(A1)+1))<HALLAR("@";A1&"
"))>0;FILA(INDIRECTO("1:"&LARGO(A1)+1))))+1;MIN(SI((EXTRAE(SUSTITUIR(A1&" ";",";"
");FILA(INDIRECTO("1:"&LARGO(A1)+1));1)="
")*(FILA(INDIRECTO("1:"&LARGO(A1)+1))>HALLAR("@";A1&"
"))>0;FILA(INDIRECTO("1:"&LARGO(A1)+1))))-MAX(SI((EXTRAE(SUSTITUIR(A1&" ";",";"
");FILA(INDIRECTO("1:"&LARGO(A1)+1));1)="
")*(FILA(INDIRECTO("1:"&LARGO(A1)+1))<HALLAR("@";A1&"
"))>0;FILA(INDIRECTO("1:"&LARGO(A1)+1))))-1)}
Saber el nmero de veces que aparece un carcter o una cadena en un texto
Suponiendo que A1 contiene el texto ABACDCABAEFE, para averiguar el nmero de aes que
aparecen en el texto:
=LARGO(A1)-LARGO(SUSTITUIR(A1;"A";""))
y para averiguar el nmero de veces que aparece ABA:
=(LARGO(A1)-LARGO(SUSTITUIR(A1;"ABA";"")))/3
Si se quisiera saber el nmero de aes que aparecen en el rango A1:A10, la frmula sera:
{=SUMA(LARGO(A1:A10)-LARGO(SUSTITUIR(A1:A10;"A";"")))}
y para averiguar el nmero de veces que aparece ABA en el mismo rango:
{=SUMA((LARGO(A1:A10)-LARGO(SUSTITUIR(A1:A10;"ABA";"")))/3)}
Averiguar el texto ms repetido en un rango
La funcin MODA devuelve el valor que ms se repite en un rango, pero tan slo se puede aplicar
a valores numricos. Si se necesitara emular esta funcin en un rango compuesto de celdas con
texto, y suponiendo que dicho rango fuera A1:A10, se podra usar la frmula:
=INDICE(A1:A10;MODA(COINCIDIR(A1:A10;A1:A10;0)))
Averiguar el elemento menos repetido en un rango
Si se necesita saber cual es el elemento menos repetido de, por ejemplo, el rango A1:A10 (en el
que no puede haber celdas vacas), la frmula sera:
{=INDICE(A1:A10;COINCIDIR(MIN(CONTAR.SI(A1:A10;A1:A10));CONTAR.SI(A1:A10;A1:A10);0))
}
teniendo en cuenta que si hubiese ms de un elemento con el menor nmero de repeticiones la
frmula devolvera el situado ms arriba.
Esta frmula sirve para cualquier tipo de datos.
Averiguar el 2, 3er., 4 etc. valor ms repetido en un rango [Ejemplo]
Sabemos que la funcin MODA devuelve el elemento ms repetido de un rango. Si se necesita
averiguar cul es el 2, 3, etc. valor ms repetido de un rango con nombre llamado Datos (que ha
de empezar en la fila 1 y estar constituido por valores), se puede usar la frmula:

{=INDICE(Datos;COINCIDIR(K.ESIMO.MAYOR(SI(COINCIDIR(Datos;Datos;0)=FILA(Datos);CONT
AR.SI(Datos;Datos)-FILA(Datos)/10^MAX(LARGO(Datos-
ENTERO(Datos))));FILA());SI(COINCIDIR(Datos;Datos;0)=FILA(Datos);CONTAR.SI(Datos;Datos)-
FILA(Datos)/10^MAX(LARGO(Datos-ENTERO(Datos))));0))}

Para que esta frmula tal como est aqu devolviese el 2 valor ms repetido, tendra que estar
situada en la fila 2. Situada en la fila 1, la frmula devolvera el elemento ms repetido, lo que
carece de sentido porque eso mismo se puede conseguir mucho ms fcilmente utilizando
=MODA(Datos), si bien hay que precisar que en las versiones de Excel que no disponen de la
funcin MODA.VARIOS, la frmula propuesta representa un modo de conseguir que vayan
aparecido todos los elementos "empatados" en la primera posicin de la clasificacion por su
cantidad de apariciones, si es que hay ms de uno.

La parte de la frmula que determina el elemento a devolver es la funcin FILA(), por lo que si se
sustituye esta funcin por un nmero entero especfico la frmula devolver el elemento que ocupe
esa posicin en la jerarqua de repeticiones.

Esta frmula necesita jerarquizar los elementos nicos del rango que procesa al objeto de
deshacer los posibles "empates" en su cantidad de apariciones, para lo que recurre a la tcnica de
restarle a cada uno de ellos el resultado de la divisin de su nmero de fila entre 10^nmero de
decimales del elemento qu ms decimales tenga+2. Esto podra tener como consecuencia que la
frmula no trabajase adecuadamente si uno o varios de los nmeros que debe procesar tuviesen
muchos decimales y/o si uno o varios de los nmeros fueran muy grandes.
Si los elementos en el rango Datos fuesen cadenas de texto, se podra usar la siguiente variante
de la frmula:
{=INDICE(Datos;COINCIDIR(K.ESIMO.MAYOR(SI(COINCIDIR(Datos;Datos;0)=FILA(Datos);CONT
AR.SI(Datos;Datos)-
FILA(Datos)/100);FILA());SI(COINCIDIR(Datos;Datos;0)=FILA(Datos);CONTAR.SI(Datos;Datos)-
FILA(Datos)/100);0))}
Esta frmula trabajar (en principio) tambin si los elementos son una mezcla de valores y texto o
incluso si tan slo hay nmeros, pero si los nmeros tuviesen decimales podran producirse
resultados incorrectos.

En caso de empate en el nmero de repeticiones, estas frmulas devolvern primero el situado
ms arriba en el rango, luego el siguiente hacia abajo, etc. Cuando no queden ms elementos
nicos en el rango Datos, comenzarn a devolver el error #NUM!
Averiguar el nmero de palabras de un texto y/o el promedio de sus longitudes
Suponiendo que la celda A1 tiene un texto cuyas palabras estn separadas por espacios, la
frmula para averiguar el nmero de palabras sera:
=LARGO(A1)-LARGO(SUSTITUIR(A1;" ";""))+1
Para saber el promedio de las longitudes de las palabras del texto situado en la celda A1 la frmula
sera:
=LARGO(SUSTITUIR(A1;" ";""))/(LARGO(A1)-LARGO(SUSTITUIR(A1;" ";""))+1)
Notas:
Hay que hacer notar que si hubiera signos de puntuacin seran tenidos en cuenta al
calcular el promedio de los largos de las palabras.
Si las palabras estuviesen separadas por, por ejemplo, guiones, lo nico que habra que
hacer es sustituir en las frmulas " " por "-".
Averiguar cual es el texto ms largo de un rango [Ejemplo]
Si se deseara saber la fila con el texto ms largo en el rango A1:A10, la frmula sera:
{=MAX(LARGO(A1:A10))}
Para obtener dicho texto ms largo:
{=INDICE(A1:A10;COINCIDIR(1;SIGNO(LARGO(A1:A10)=MAX(LARGO(A1:A10)));0))}

Si hubiera dos o ms celdas con el texto de la misma longitud, esta frmula devolver la primera de
ellas.

Sera posible usar un formato condicional para resaltar todas las celdas cuyos textos fueran los
ms largos del rango. La frmula para dicho formato condicional sera:
=LARGO(A1)=MAX(LARGO(A$1:A$10))
Esta frmula habra que aplicarla a todo el rango A1:A10
Averiguar el carcter o el dgito ms repetido en una celda y/o el nmero de veces que
aparece [Ejemplo]
Suponiendo que se quiera saber cual es el carcter o el nmero ms repetido en la celda A1, se
podra usar:
{=MED(A1;MODA(COINCIDIR(MED(A1;FILA(INDIRECTO("1:"&LARGO(A1)));1);MED(A1;FILA(IND
IRECTO("1:"&LARGO(A1)));1);0));1)}
teniendo en cuenta que si dos o ms caracteres y/o dgitos se repiten el mismo nmero de veces,
la frmula devolver el situado ms a la izquierda. En Excel 2010 es posible utilizar la nueva
funcin MODA.VARIOS para devolver la lista de elementos "empatados" (si los hay) en el primer
puesto por el nmero de apariciones. La frmula sera:
{=INDICE(MODA.VARIOS(COINCIDIR(MED($A$1;FILA(INDIRECTO("1:"&LARGO($A$1)));1);MED
($A$1;FILA(INDIRECTO("1:"&LARGO($A$1)));1);0));FILA())}
que habra que colocar en la fila 1 de cualquier columna vaca y copiarla y pegarla hacia abajo.
Cuando no haya ms elementos "empatados" en el primer puesto por el nmero de apariciones,
comenzar a aparecer el error #REF!
Complicando un poco la primera frmula propuesta es posible, en caso de empate, devolver el
carcter ms a la derecha (til para las versiones anteriores a la 2010, que no disponen de la
funcin MODA.VARIOS):
{=MED(A1;LARGO(A1)-MODA(COINCIDIR(MED(A1;LARGO(A1)-
FILA(INDIRECTO("1:"&LARGO(A1)))+1;1);MED(A1;LARGO(A1)-
FILA(INDIRECTO("1:"&LARGO(A1)))+1;1);0))+1;1)}
Es posible tambin averiguar el nmero de veces que aparece el carcter o dgito que ms lo hace,
usando la frmula:
{=MAX(LARGO(A1)-LARGO(SUSTITUIR(A1;MED(A1;FILA(INDIRECTO("1:"&LARGO(A1)));1);"")))}
Averiguar la posicin del primer carcter o nmero en una celda
Si se desea obtener la posicin del primer carcter no numrico en la celda A1, se puede usar:
{=COINCIDIR(VERDADERO;ESERROR(SIGNO(EXTRAE(A1;FILA(INDIRECTO("1:"&LARGO(A1))
);1)));0)}
Y para obtener el carcter que es:
{=EXTRAE(A1;COINCIDIR(VERDADERO;ESERROR(SIGNO(EXTRAE(A1;FILA(INDIRECTO("1:"&
LARGO(A1)));1)));0);1)}
Para obtener la posicin del primer nmero o el nmero en s, bastara con sustituir VERDADERO
por FALSO.
Averiguar la posicin del ltimo carcter o nmero en una celda
Si se desea obtener la posicin del ltimo carcter no numrico en la celda A1, se puede usar:
{=MAX(ESERROR(SIGNO(EXTRAE(A1;FILA(INDIRECTO("1:"&LARGO(A1)));1)))*FILA(INDIRECT
O("1:"&LARGO(A1))))}
Y para obtener el carcter que es:
{=EXTRAE(A1;MAX(ESERROR(SIGNO(EXTRAE(A1;FILA(INDIRECTO("1:"&LARGO(A1)));1)))*FIL
A(INDIRECTO("1:"&LARGO(A1))));1)}
Si se desea el ltimo nmero, las frmulas seran:
{=MAX(ESNUMERO(SIGNO(EXTRAE(A1;FILA(INDIRECTO("1:"&LARGO(A1)));1)))*FILA(INDIRE
CTO("1:"&LARGO(A1))))}
y:
{=EXTRAE(A1;MAX(ESNUMERO(SIGNO(EXTRAE(A1;FILA(INDIRECTO("1:"&LARGO(A1)));1)))*F
ILA(INDIRECTO("1:"&LARGO(A1))));1)}
Saber si todos los caracteres del texto de una celda son letras [Ejemplo]
Excel dispone de la funcin ESTEXTO para saber si el contenido de una celda es un texto, pero
dicha funcin no evala cada carcter, por lo que, por ejemplo, AB1C lo considerara como texto a
pesar de tener un nmero.
Si, por ejemplo, se necesitara saber si todos y cada uno de los caracteres de una celda son letras
maysculas, excluyendo la , se podra usar:
=SUMAPRODUCTO((CODIGO(EXTRAE(A1;FILA(INDIRECTO("1:"&LARGO(A1)));1))>64)*(CODIG
O(EXTRAE(A1;FILA(INDIRECTO("1:"&LARGO(A1)));1))<91))=LARGO(A1)
e incluyendo la :
=SUMAPRODUCTO(((CODIGO(EXTRAE(A1;FILA(INDIRECTO("1:"&LARGO(A1)));1))>64)*(CODI
GO(EXTRAE(A1;FILA(INDIRECTO("1:"&LARGO(A1)));1))<91))+(CODIGO(EXTRAE(A1;FILA(INDI
RECTO("1:"&LARGO(A1)));1))=209))=LARGO(A1)
Si, adems, se necesitara saber si el texto tiene una longitud determinada (por ejemplo, 6
caracteres), la frmula sera (sin la ):
=Y(SUMAPRODUCTO((CODIGO(EXTRAE(A1;FILA(INDIRECTO("1:"&LARGO(A1)));1))>64)*(COD
IGO(EXTRAE(A1;FILA(INDIRECTO("1:"&LARGO(A1)));1))<91))=6;LARGO(A1)=6)
y con la :
=Y((SUMAPRODUCTO((CODIGO(EXTRAE(A1;FILA(INDIRECTO("1:"&LARGO(A1)));1))>64)*(CO
DIGO(EXTRAE(A1;FILA(INDIRECTO("1:"&LARGO(A1)));1))<91)+(CODIGO(EXTRAE(A1;FILA(IND
IRECTO("1:"&LARGO(A1)));1))=209)))=6;LARGO(A1)=6)
Si se quisiera verificar que todas las letras fueran minsculas, habra que hacer las siguientes
sustituciones en las frmulas:
96 en vez de 64
123 en vez de 91
241 en vez de 209
Nota: todas estas frmulas pueden ser utilizadas como 'Frmula personalizada' en las validaciones.
Frmulas para averiguar los dgitos de control de un Cdigo de Cuenta de Cliente (CCC) del
sistema bancario espaol [Ejemplo]
Suponiendo que en A1 estuviera el cdigo de la entidad bancaria (4 dgitos), en B1 el cdigo de la
sucursal (4 dgitos) y en C1 el cdigo de la cuenta (10 dgitos), la frmula para averiguar el dgito
de control de la entidad + la sucursal (8 dgitos en total) sera:
{=EXTRAE(12345678910;11-
RESIDUO(SUMA(EXTRAE(A1&B1;FILA(INDIRECTO("1:8"));1)*(EXTRAE(37498625;FILA(INDIRE
CTO("1:8"));1)+1));11);1)}
La frmula para averiguar el dgito de control del nmero de cuenta sera:
{=EXTRAE(12345678910;11-
RESIDUO(SUMA(EXTRAE(C1;FILA(INDIRECTO("1:10"));1)*(EXTRAE(0&137498625;FILA(INDIRE
CTO("1:10"));1)+1));11);1)}
Si se necesitara averiguar ambos dgitos de control en la misma celda, la frmula sera:
{=EXTRAE(12345678910;11-
RESIDUO(SUMA(EXTRAE(A1&B1;FILA(INDIRECTO("1:8"));1)*(EXTRAE(37498625;FILA(INDIRE
CTO("1:8"));1)+1));11);1)&EXTRAE(12345678910;11-
RESIDUO(SUMA(EXTRAE(C1;FILA(INDIRECTO("1:10"));1)*(EXTRAE(0&137498625;FILA(INDIRE
CTO("1:10"));1)+1));11);1)}
Y para obtener el CCC completo (entidad + sucursal + dgitos de control + nmero de cuenta)
separados por un espacio, que es como se suele presentar el CCC en Espaa, la frmula sera:
{=A1&" "&B1&" "&EXTRAE(12345678910;11-
RESIDUO(SUMA(EXTRAE(A1&B1;FILA(INDIRECTO("1:8"));1)*(EXTRAE(37498625;FILA(INDIRE
CTO("1:8"));1)+1));11);1)&EXTRAE(12345678910;11-
RESIDUO(SUMA(EXTRAE(C1;FILA(INDIRECTO("1:10"));1)*(EXTRAE(0&137498625;FILA(INDIRE
CTO("1:10"));1)+1));11);1)&" "&C1}
Notas:
Conviene que tanto las celdas con los cdigos bancarios como las que tengan las frmulas
para averiguar sus dgitos de control tengan formato de texto para evitar que se pierdan los
ceros que pueda haber a la izquierda. Otra posibilidad es anteponer un apstrofo ' a los
cdigos, por ejemplo '0123
Es posible sustituir SUMA por SUMAPRODUCTO, y de as hacerlo no sera necesario
introducir las frmulas de forma matricial.
En las versiones anteriores a la 2010 hay que sustituir RESTO por RESIDUO y MED por
EXTRAE.
Frmula para averiguar los dgitos de control IBAN (International Bank Account Number)
Suponiendo que en A1 est el CCC (Cdigo de Cuenta del Cliente del sistema bancario espaol)
completo (es decir, los cuatro dgitos del banco + los cuatro de la sucursal + los dos dgitos de
control + los diez dgitos de la cuenta), sin espacios ni otros signos (como p.ej. guiones), la frmula
para averiguar los dgitos de control IBAN sera:
=DERECHA(0&98-
RESIDUO(RESIDUO(RESIDUO(RESIDUO(EXTRAE(A1;1;8);97)&EXTRAE(A1;9;8);97)&EXTRAE(
A1&142800;17;8);97)&EXTRAE(A1&142800;25;2);97);2)
y la frmula para devolver el cdigo IBAN completo sera:
="ES"&DERECHA(0&98-
RESIDUO(RESIDUO(RESIDUO(RESIDUO(EXTRAE(A1;1;8);97)&EXTRAE(A1;9;8);97)&EXTRAE(
A1&142800;17;8);97)&EXTRAE(A1&142800;25;2);97);2)&A1
Si se deseara desglosar el IBAN en 6 grupos de 4 caracteres separados por un espacio (que es
como se suele presentar el IBAN en Espaa), la frmula sera:
="ES"&DERECHA(0&98-
RESIDUO(RESIDUO(RESIDUO(RESIDUO(EXTRAE(A1;1;8);97)&EXTRAE(A1;9;8);97)&EXTRAE(
A1&142800;17;8);97)&EXTRAE(A1&142800;25;2);97);2)&" "&IZQUIERDA(A1;4)&"
"&EXTRAE(A1;5;4)&" "&EXTRAE(A1;9;4)&" "&EXTRAE(A1;13;4)&" "&EXTRAE(A1;17;4)
Notas: en el libro de ejemplo para la frmula anterior (la que averiguaba los dgitos de control del
CCC) hay una hoja con ejemplos de estas frmulas que calculan los cdigos de control IBAN.
Averiguar la letra de control de un NIF (Nmero de Identificacin Fiscal en Espaa) o un NIE
(Nmero de Identificacin de Extranjeros) [Ejemplo]
Suponiendo que en A1 se encuentra el DNI cuya letra se quiera averiguar, la frmula sera:
=EXTRAE("TRWAGMYFPDXBNJZSQVHLCKE";RESIDUO(A1;23)+1;1)
Respecto a los NIE, hay que tener en cuenta que deben comenzar siempre por X Y (estando
previsto que en el futuro puedan empezar tambin por Z), y tener a continuacin siete dgitos. La
frmula para averiguar el dgito de control del NIE situado en A1 sera:
=EXTRAE("TRWAGMYFPDXBNJZSQVHLCKE";RESIDUO(ABS(CODIGO(IZQUIERDA(A1;1)))-
88&DERECHA(A1;7);23)+1;1)
Averiguar el dgito verificador de un RUT (Rol nico Tributario) chileno
Suponiendo que en A1 se encuentra el RUT, la frmula sera:
{=EXTRAE("123456789K0";11-
RESIDUO(SUMA(EXTRAE(DERECHA(REPETIR("0";12)&$A$1;12);13-
FILA(INDIRECTO("1:12"));1)*(FILA(INDIRECTO("1:12"))+1-
(FILA(INDIRECTO("1:12"))>6)*6));11);1)}
Usando como separador la coma, la frmula quedara as:
{=EXTRAE("123456789K0",11-
RESIDUO(SUMA(EXTRAE(DERECHA(REPETIR("0",12)&$A$1,12),13-
FILA(INDIRECTO("1:12")),1)*(FILA(INDIRECTO("1:12"))+1-
(FILA(INDIRECTO("1:12"))>6)*6)),11),1)}
Nota: vaya mi agradecimiento a quien sea que haya preparado el generador de RUTs vlidos
(http://joaquinnunez.cl/jQueryRutPlugin/generador-de-ruts-chilenos-validos.html), el cual me ha servido
para poder verificar que la frmula funciona correctamente.
Averiguar el dgito verificador de un DNIC (Direccin Nacional de Identificacin Civil)
uruguayo
Suponiendo que en A1 se encuentra el DNIC, la frmula sera:
=DERECHA(10-
RESIDUO(SUMAPRODUCTO(VALOR(DERECHA(EXTRAE(A1;FILA(INDIRECTO("1:7"));1)*EXTR
AE("2987634";FILA(INDIRECTO("1:7"));1);1)));10);1)
Usando como separador la coma, la frmula sera:
=DERECHA(10-
RESIDUO(SUMAPRODUCTO(VALOR(DERECHA(EXTRAE(A1,FILA(INDIRECTO("1:7")),1)*EXTR
AE("2987634",FILA(INDIRECTO("1:7")),1),1))),10),1)
Averiguar el dgito verificador de una CUIT (Clave nica de Identificacin Tributaria)
argentina
Suponiendo que en A1 se encuentra la CUIT (en el formato 99-99999999), la frmula para
averiguar su dgito verificador sera:
{=EXTRAE("12345678990";11-
RESIDUO(SUMA(EXTRAE(IZQUIERDA($A$1;2)&EXTRAE($A$1;4;8);10-
FILA(INDIRECTO("1:10"))+1;1)*(FILA(INDIRECTO("1:10"))+1-
(FILA(INDIRECTO("1:10"))>6)*6));11);1)}
Usando como separador la coma, la frmula sera:
{=EXTRAE("12345678990",11-
RESIDUO(SUMA(EXTRAE(IZQUIERDA($A$1,2)&EXTRAE($A$1,4,8),10-
FILA(INDIRECTO("1:10"))+1,1)*(FILA(INDIRECTO("1:10"))+1-
(FILA(INDIRECTO("1:10"))>6)*6)),11),1)}
Calcular el dgito verificador de un Nmero de Cdula ecuatoriano
Suponiendo que en A1 se encuentra el nmero de cdula cuyo dgito verificador se desea calcular,
la frmula sera:
{=10-
RESIDUO(SUMA(SI(EXTRAE(A1;FILA(INDIRECTO("1:9"));1)*RESIDUO(212121212;FILA(INDIRE
CTO("1:9"));1)>9;RESIDUO(A1;FILA(INDIRECTO("1:9"));1)*RESIDUO(212121212;FILA(INDIRECT
O("1:9"));1)-
9;RESIDUO(A1;FILA(INDIRECTO("1:9"));1)*RESIDUO(212121212;FILA(INDIRECTO("1:9"));1)));1
0)}
Usando como separador la coma, la frmula sera:
{=10-
RESIDUO(SUMA(SI(EXTRAE(A1,FILA(INDIRECTO("1:9")),1)*RESIDUO(212121212,FILA(INDIRE
CTO("1:9")),1)>9,RESIDUO(A1,FILA(INDIRECTO("1:9")),1)*RESIDUO(212121212,FILA(INDIRECT
O("1:9")),1)-
9,RESIDUO(A1,FILA(INDIRECTO("1:9")),1)*RESIDUO(212121212,FILA(INDIRECTO("1:9")),1))),1
0)}
Nota: no dispongo de ejemplos reales de Cdulas del Ecuador para comprobar el correcto
funcionamiento de la frmula, pero parece que s funciona puesto que calcula bien el ejemplo
planteado aqu.
Frmula para averiguar el dgito de control de un cdigo de barras EAN-13
Suponiendo que en A1 se encuentre el cdigo EAN-13 (12 dgitos) cuyo dgito de control se desee
averiguar, la frmula sera:
=10-
RESIDUO(SUMAPRODUCTO(EXTRAE(A1;FILA(INDIRECTO("1:12"));1)*(EXTRAE(131313131313
;FILA(INDIRECTO("1:12"));1)));10)
Una variante, un poco ms corta:
=10-RESIDUO(SUMAPRODUCTO(EXTRAE(A1;FILA(INDIRECTO("1:12"));1)
*(1+((RESIDUO(FILA(INDIRECTO("1:12"));2)=0)*2)));10)
Frmula para averiguar el dgito de control de un cdigo de barras EAN-8
Suponiendo que en A1 se encuentre el cdigo EAN-8 (7 dgitos) cuyo dgito de control se desee
averiguar, la frmula sera:
=10-
RESIDUO(SUMAPRODUCTO(EXTRAE(A1;FILA(INDIRECTO("1:7"));1)*(EXTRAE(3131313;FILA(I
NDIRECTO("1:7"));1)));10)
Nota: las frmulas que usan la funcin SUMAPRODUCTO se pueden hacer un poco ms cortas si
se convierten en matriciales, para lo cual lo nico que hay que hacer es sustituir
SUMAPRODUCTO por SUMA e introducirlas como frmulas matriciales.
Reitero la importancia de que la celdas que contienen los cdigos cuyos dgitos de control
se quieran averiguar estn formateadas como texto, para evitar que se puedan perder ceros
por la izquierda, si los hay.
Detectar si existe duplicidad de un conjunto de celdas
imagen (11 kb)
En este ejemplo se necesita averiguar qu filas estn duplicadas (es decir, tienen las tres celdas
iguales en el mismo orden).
Una posibilidad es poner la siguiente frmula en la fila 1 de una columna vaca
=SUMAPRODUCTO(($A$1:$A$6&$B$1:$B$6&$C$1:$C$6=$A1&$B1&$C1)*1)
y copiarla y pegarla hasta la ltima fila. La frmula devolver el nmero de veces en que se
produce la duplicidad.
Tambin sera posible usar la siguiente frmula, pero hay que tener en cuenta que hay que
introducirla como matricial habiendo seleccionado antes todo el rango donde debe ir.
{=COINCIDIR(A1:A6&B1:B6&C1:C6;A1:A6&B1:B6&C1:C6;0)}
Esta frmula asignar a cada grupo de celdas un nmero, y los grupos duplicados aparecern con
el mismo nmero. En esta imagen (37 kb) se puede ver la frmula, aplicada en el rango D1:D6
Fijar en una celda el lunes de la semana actual (o cualquier otro da de la semana)
Por ejemplo, para mostrar siempre en una celda el lunes de la semana actual, la frmula sera:
=SI(DIASEM(HOY())=2;HOY();HOY()-DIASEM(HOY()-2))
Para los dems das de la semana, habra que sustituir los doses por:
1 para el domingo
3 para el martes
4 para el mircoles
5 para el jueves
6 para el viernes
7 para el sbado
Frmula para averiguar el sbado, domingo, etc. anterior o posterior a una fecha
Si en A1 hay una fecha y se desea saber el sbado anterior a la misma se puede usar:
=A1-DIASEM(A1)
Para el sbado posterior la frmula sera:
=A1-DIASEM(A1)+7

Para el domingo anterior o siguiente, las frmulas seran:
=A1-DIASEM(A1-1)
=A1-DIASEM(A1-1)+7

Para el lunes, martes...viernes, habra que sustituir -1 por -2,-3... -6

Lgicamente, se puede trabajar con HOY() o AHORA() en vez de la referencia a A1, en cuyo caso
los resultados seran voltiles.
Fijar en una celda el primer o ltimo da del mes actual, anterior o siguiente
Primer da del mes actual: =FECHA(AO(HOY());MES(HOY());1)
ltimo da del mes actual: =FECHA(AO(HOY());MES(HOY())+1;1)-1
Primer da del mes anterior: =FECHA(AO(HOY());MES(HOY())-1;1)
ltimo da del mes anterior: =FECHA(AO(HOY());MES(HOY());1)-1
Primer da del mes siguiente: =FECHA(AO(HOY());MES(HOY())+1;1)
ltimo da del mes siguiente: =FECHA(AO(HOY());MES(HOY())+2;1)-1
Subtotalizar datos por tramos de edad
Suponiendo que en rango A1:A50 hay una serie de fechas de nacimiento, y que se necesita
subtotalizar por tramos de edad de 10 aos desde dichas fechas de nacimiento hasta la fecha
actual, la frmula sera:

=SUMAPRODUCTO((ENTERO(SIFECHA($A$1:$A$50;HOY();"y")/10)=0)*1)

para las fechas de nacimiento de los 10 aos anteriores. Para los 10, 20, ... XX aos, habra que
sustituir =0 por =1, =2 ... =XX/10

Si se necesitara tomar como referencia una fecha en concreto en lugar de la actual, habra que
sustituir HOY() por alguna de las funciones de conversin a fechas de Excel. Por ejemplo, usando
la funcin FECHA para el 31/12/2007, la frmula anterior quedara:

=SUMAPRODUCTO((ENTERO(SIFECHA($A$1:$A$50;FECHA(2007;12;31);"y")/10)=0)*1)

Si se modifica un poco la frmula es posible subtotalizar por otros perodos distintos al decenio,
como por ejemplo quinquenios:

=SUMAPRODUCTO((ENTERO(SIFECHA($A$1:$A$50;HOY();"y")/5)=0)*1)

o bienios:

=SUMAPRODUCTO((ENTERO(SIFECHA($A$1:$A$50;HOY();"y")/2)=0)*1)

Lgicamente, tambin es posible obtener sumas de cantidades que estn relacionadas con esas
fechas. Por ejemplo, suponiendo que en el rango B1:B50 de la misma hoja hubiera una serie de
cantidades y se deseara obtener la suma que corresponde a quienes han nacido en los 10 aos
anteriores a la fecha actual, la frmula sera:

=SUMAPRODUCTO((ENTERO(SIFECHA($A$1:$A$50;HOY();"y")/10)=0)*$B1:$B$50)
Obtener un promedio despreciando el/los valor/es mayor/es o menor/es [Ejemplo]
Suponiendo que se tiene un rango con nombre (de una sola columna de ancho) llamado Notas, y
se desea obtener su promedio despreciando su valor ms alto, la frmula sera:
{=PROMEDIO(K.ESIMO.MENOR(Notas;FILA(INDIRECTO("1:"&FILAS(Notas)-1))))}

Para despreciar los dos valores ms altos tan slo habra que sustituir el -1 por -2, etc.

Para obtener el promedio despreciando la nota ms baja, habra que usar la funcin
K.ESIMO.MAYOR, o sea:
{=PROMEDIO(K.ESIMO.MAYOR(Notas;FILA(INDIRECTO("1:"&FILAS(Notas)-1))))}
Si se deseara el promedio sin tener en cuenta TODAS las apariciones de la nota ms baja, la
frmula sera:
{=PROMEDIO(K.ESIMO.MAYOR(Notas;FILA(INDIRECTO("1:"&FILAS(Notas)-
CONTAR.SI(Notas;MIN(Notas))))))}
Para obtener el promedio sin tener en cuentas TODAS las apariciones de la nota ms alta:
{=PROMEDIO(K.ESIMO.MENOR(Notas;FILA(INDIRECTO("1:"&FILAS(Notas)-
CONTAR.SI(Notas;MAX(Notas))))))}

Si el rango con nombre fuera una fila en lugar de una columna, habra que sustituir en la frmula
FILAS por COLUMNAS.
Para averiguar el promedio del rango con nombre Notas despreciando tanto todos los valores
menores como todos los mayores, la frmula sera:
{=PROMEDIO(SI(NO((Notas=MIN(Notas))+(Notas=MAX(Notas)));Notas;""))}
Promediar cada n filas o columnas [Ejemplo]
A partir de la fila 1 de una columna se tiene un rango con nombre llamado Datos y se desea
calcular el promedio cada, por ejemplo, 10 filas. La frmula sera:
{=PROMEDIO(SI(RESIDUO(Datos;10)=0;Datos))}
Lgicamente, para calcular el promedio cada, por ejemplo, 5 filas, lo nico que habra que hacer es
sustituir el 10 por un 5.
Esta frmula funcionara exactamente igual si el rango con nombre Datos estuviese dispuesto en
una fila a partir de su columna A.
Averiguar la/s letra/s de una columna [Ejemplo]
Esta frmula devuelve la letra de la columna de la celda A1:
=SUSTITUIR(IZQUIERDA(CELDA("direccion";A1);ENCONTRAR("$";CELDA("direccion";A1);2)-
1);"$";"")
Lgicamente, para devolver la letra (o letras) correspondiente/s a otra columna lo nico que hay
que hacer es sustituir los dos A1 por la direccin de cualquier celda de la columna deseada.
Averiguar a qu bimestre, trimestre, cuatrimestre o semestre pertenece una fecha [Ejemplo]
Suponiendo que la fecha estuviera en A1, la frmula para el bimestre sera:
=REDONDEAR.MAS(MES(A1)/2;0)
- para el trimestre, habra que sustituir /2 por /3
- para el cuatrimestre, /2 por /4
- y para el semestre, /2 por /6.
Obtener la cantidad de domingos (o cualquier otro da de la semana) que hay entre dos
fechas [Ejemplo]
Suponiendo que en A1 hay una fecha y en A2 otra fecha, mayor que la de A1, la siguiente frmula
devolver el nmero de domingos que hay entre ambas:
=ENTERO((B1-DIASEM(B1)-A1+8)/7)
para saber la cantidad de lunes, la frmula sera:
=ENTERO((B1-DIASEM(B1-1)-A1+8)/7)

Sustituyendo -1 por -2, -3... -6 se obtendra el nmero de martes, mircoles... sbados.
Frmulas para saber si un nmero es o no primo [Ejemplo]
NOTA: En este enlace hay una pequea monografa sobre frmulas capaces de procesar nmeros
ms grandes que la expuesta aqu.
Suponiendo que el nmero estuviera en A1:
{=A1&ELEGIR(N((SUMA(--
(MULTIPLO.INFERIOR(A1;FILA(INDIRECTO("1:"&ENTERO(RAIZ(A1+1)))))=A1))>1))+1;" s";" no")
& " es un nmero primo."}
Se podra usar la siguiente frmula en un Formato Concidional para que las celdas que contengan
un nmero primo se destaquen como se haya establecido en el propio Formato Condicional:
=SUMA(--(MULTIPLO.INFERIOR(A1;FILA(INDIRECTO("$1:"&ENTERO(RAIZ(A1)))))=A1))=1
Notas:
el nmero ms alto que puede procesar esta frmula (en Excel 2003) es el 4.295.098.368.
En las versiones posteriores es el 1.099.513.724.928, pero el procesamiento de un nmero
tan grande podra llevar bastante tiempo
aplicada al nmero 1, la frmula dir que es primo, pero no lo es
conviene no usar muchas veces esta frmula en el mismo libro, dado que si los nmeros a
procesar son muy grandes tendr que hacer muchos clculos
usando esta funcin VBA es posible averiguar si un nmero es primo hasta el
999.999.999.999.999
Frmula para obtener el reverso de un nmero entero [Ejemplo]
Si, por ejemplo, en la celda A1 est el nmero 12345, la siguiente frmula devolver su reverso
(54321):
{=SUMA(EXTRAE(ABS(A1);FILA(INDIRECTO("1:"&LARGO(ABS(A1))));1)*10^(FILA(INDIRECTO("
1:"&LARGO(ABS(A1))))-1))*SIGNO(A1)}
Lo mismo hace:
=SUMAPRODUCTO(EXTRAE(ABS(A1);FILA(INDIRECTO("1:"&LARGO(ABS(A1))));1)*10^(FILA(IN
DIRECTO("1:"&LARGO(ABS(A1))))-1))*SIGNO(A1)
Usando esta frmula tambin es posible saber si el nmero situado en A1 es o no capica:
{=A1&ELEGIR(--
(SUMA(EXTRAE(ABS(A1);FILA(INDIRECTO("1:"&LARGO(ABS(A1))));1)*10^(FILA(INDIRECTO("1
:"&LARGO(ABS(A1))))-1))*SIGNO(A1)=A1)+1;" no";" s")&" es capica."}
Nota: El mximo de dgitos que puede tener el nmero es 15, es decir los mismos que la precisin
numrica de Excel.
Averiguar si una palabra o frase es un palndromo [Ejemplo]
La siguiente frmula devuelve VERDADERO si la palabra en A2 es un palndromo (se lee igual en
ambos sentidos) y FALSO si no lo es:
{=Y(EXTRAE(A2;FILA(INDIRECTO("1:"&ENTERO(LARGO(A2)/2)));1)=EXTRAE(A2;LARGO(A2)-
FILA(INDIRECTO("1:"&ENTERO(LARGO(A2)/2)))+1;1))}
Esta otra sirve para procesar una frase en lugar de una palabra:
{=Y(EXTRAE(SUSTITUIR(A2;" ";"");FILA(INDIRECTO("1:"&ENTERO(LARGO(SUSTITUIR(A2;"
";""))/2)));1)=EXTRAE(SUSTITUIR(A2;" ";"");LARGO(SUSTITUIR(A2;" ";""))-
FILA(INDIRECTO("1:"&ENTERO(LARGO(SUSTITUIR(A2;" ";""))/2)))+1;1))}
Se podran acortar un poco las frmulas, pero en este caso tendran que evaluar todas las letras de
la palabra o de la frase, mientras que las dos frmulas anteriores necesitan evaluar tan slo la
mitad:
{=Y(EXTRAE(A1;FILA(INDIRECTO("1:"&LARGO(A1)));1)=EXTRAE(A1;LARGO(A1)+1-
FILA(INDIRECTO("1:"&LARGO(A1)));1))}
{=Y(EXTRAE(SUSTITUIR(A1;" ";"");FILA(INDIRECTO("1:"&LARGO(SUSTITUIR(A1;"
";""))));1)=EXTRAE(SUSTITUIR(A1;" ";"");LARGO(SUSTITUIR(A1;" ";""))+1-
FILA(INDIRECTO("1:"&LARGO(SUSTITUIR(A1;" ";""))));1)))
Nota: en principio da igual si las letras estn en maysculas o minsculas, pero lo que no puede
haber son signos de puntuacin ni acentos.
Averiguar el valor decimal de un nmero binario [Ejemplo]
Excel dispone del complemento Herramientas para Anlisis, que incluye una funcin para realizar
este clculo, pero en cualquier caso se puede usar la siguiente frmula para hallar el valor decimal
del nmero binario situado en A1:
{=SUMA(EXTRAE(A1;FILA(INDIRECTO("1:"&LARGO(A1)));1)*2^(LARGO(A1)-
FILA(INDIRECTO("1:"&LARGO(A1)))))}
Lo mismo hace:
=SUMAPRODUCTO(EXTRAE(A1;FILA(INDIRECTO("1:"&LARGO(A1)));1)*2^(LARGO(A1)-
FILA(INDIRECTO("1:"&LARGO(A1)))))
Debido a la precisin numrica de Excel (15 dgitos), si la celda donde est el nmero binario tiene
formato numrico, ste no podr ser mayor de 15 unos (32.767 en decimal), mientras que si la
celda est formateada como texto el nmero binario no podr ser mayor de 49 unos
(562.949.953.421.311 en decimal)
Nota: esta misma frmula sirve para averiguar el valor decimal de un numero en las bases 3 a 9.
Lo nico que hay que hacer es sustituir el 2 de la frmula (en la expresin *2^) por la base en la
que se encuentre el nmero a convertir.
Averiguar el valor binario de un nmero decimal [Ejemplo]
NOTA: aconsejo la consulta de ste artculo sobre la conversin desde base 10 (decimal) a
cualquiera de las bases 2 a 9.
Excel dispone del complemento Herramientas para Anlisis, que incluye una funcin para realizar
este clculo, pero en cualquier caso se puede usar la siguiente frmula para hallar el valor binario
de un nmero decimal situado en A1:
{=SUMA(RESIDUO(ENTERO(A1/2^((FILA(INDIRECTO("1:"&ENTERO(LOG(A1;2))+1)))-
1));2)*10^(FILA(INDIRECTO("1:"&ENTERO(LOG(A1;2))+1))-1))}
Lo mismo hace:
=SUMAPRODUCTO(RESIDUO(ENTERO(A1/2^((FILA(INDIRECTO("1:"&ENTERO(LOG(A1;2))+1))
)-1));2)*10^(FILA(INDIRECTO("1:"&ENTERO(LOG(A1;2))+1))-1))
Notas:
La celda donde est la frmula tiene que tener formato numrico, preferentemente con
cero posiciones decimales y sin separador de miles.
Debido a la precisin numrica de Excel (15 dgitos), el nmero decimal ms alto que
puede devolver esta frmula es el 32.768, que en binario es 1000000000000000 (un uno
seguido de 15 ceros).
Hay que tener en cuenta que aunque el nmero devuelto por la frmula "pueda parecer"
binario, en realidad Excel lo tratar como decimal si se intenta hacer cualquier clculo con
l.
La frmula no generar un error si ha de procesar nmeros negativos o mayores de
32.768, pero los resultados podrn no ser correctos.
Esta misma frmula (con las modificaciones necesarias) puede devolver nmeros en las
bases 3 a 9. En el libro de ejemplo de esta funcin se pueden ver dichas frmulas, as como
sus limitaciones.
Averiguar el valor decimal de un nmero hexadecimal [Ejemplo]
Excel dispone del complemento Herramientas para Anlisis, que incluye una funcin para realizar
este clculo, pero en cualquier caso se puede usar la siguiente frmula para hallar el valor decimal
de un nmero hexadecimal situado en A1:
{=SUMA((HALLAR(EXTRAE(A1;FILA(INDIRECTO("1:"&LARGO(A1)));1);"0123456789abcdef")-
1)*16^(LARGO(A1)-FILA(INDIRECTO("1:"&LARGO(A1)))))}
Lo mismo hace:
=SUMAPRODUCTO((HALLAR(EXTRAE(A1;FILA(INDIRECTO("1:"&LARGO(A1)));1);"0123456789
abcdef")-1)*16^(LARGO(A1)-FILA(INDIRECTO("1:"&LARGO(A1)))))
Debido a la precisin numrica de Excel (15 dgitos), el hexadecimal ms alto que puede devolver
esta frmula con garantas es 38D7EA4C68000 (un uno seguido de 15 ceros en decimal).
Nota: esta misma frmula se puede usar (con las necesarias modificaciones) para averiguar el
valor decimal de un nmero en otras bases que requieran ms de los 10 smbolos numricos del
sistema decimal. Por ejemplo, para hallar el valor decimal de un nmero en base 15, la frmula
sera:
{=SUMA((HALLAR(EXTRAE(A1;FILA(INDIRECTO("1:"&LARGO(A1)));1);"0123456789abcde")-
1)*15^(LARGO(A1)-FILA(INDIRECTO("1:"&LARGO(A1)))))}
Las modificaciones con respecto a la frmula hexadecimal -> decimal han sido tan slo dos:
1) Se ha eliminado la f (en "0123456789abcdef")
2) Se ha sustituido el 16 (en *16^) por 15
Ley de Benford
Si se desea conocer el grado de cumplimiento (o incumplimiento) de una serie de datos llamada
Datos de la Ley de Benford, la frmula para el 1 sera:
{=(SUMA(--(IZQUIERDA(ABS(Datos);1)="1"))/FILAS(Datos))-LOG(1+1/1)}

para el 2:
{=(SUMA(--(IZQUIERDA(ABS(Datos);1)="2"))/FILAS(Datos))-LOG(1+1/2)}

Para el resto de nmeros, tan slo habra que sustituir los dos doses de esta ultima frmula por el
nmero que se deseara.
Con unas pequeas modificaciones es posible conseguir que la frmula funcione para los n
primeros dgitos, donde n lo determinar el nmero de fila de la celda en la que se encuentre la
frmula:
{=(SUMA(--(IZQUIERDA(ABS(Datos);LARGO(FILA()))*1=FILA()))/FILAS(Datos))-LOG(1+1/FILA())}
Notas:
Si se sabe con toda seguridad que no hay valores negativos en el rango Datos, es posible
sustituir ABS(Datos) por Datos, con lo que se ganar algo de rendimiento.
Dado que la ley de Benford slo se aplica a series de datos grandes (normalmente, miles),
me permito recomendar prudencia en cuanto al nmero de veces que se usen estas
frmulas en un mismo libro o sesin de Excel, puesto que en situaciones reales lo normal
ser que sean necesarios muchsimos clculos.
Saber la cantidad de nmeros pares y/o impares que hay en un rango
Suponiendo que en el rango A1:A10 hay una serie de nmeros enteros y que se desea averiguar
cuantos de ellos son pares y cuantos impares, las frmulas seran:
=SUMAPRODUCTO(--NO(RESIDUO(A1:A10;2))) para los pares
y:
=SUMAPRODUCTO(RESIDUO(A1:A10;2)) para los impares
Nota: se entiende que en el rango A1:A10 hay slo nmeros enteros. Si hubiera celdas vacas,
fechas, nmeros con decimales, cadenas de texto, etc., las frmulas podran dar como resultado
un error o no devolver el resultado correcto.
Sumar los nmeros pares o impares de un rango
Suponiendo que en el rango A1:A10 hay una serie de nmeros enteros y que se desa averiguar la
suma de los pares y/o la suma de los impares, las frmulas seran:
=SUMAPRODUCTO(NO(RESIDUO(A1:A10;2))*A1:A10) para los pares
y:
=SUMAPRODUCTO(RESIDUO(A1:A10;2)*A1:A10) para los impares
Nota: se entiende que en el rango A1:A10 hay slo nmeros enteros. Si hubiera celdas vacas,
fechas, nmeros con decimales, cadenas de texto, etc., las frmulas podran dar como resultado
un error o no devolver el resultado correcto.
Averiguar un nmero de la serie Fibonacci
La siguiente frmula devuelve el nmero 50 de la serie Fibonacci:
=((((1+RAIZ(5))/2)^50)-(-((1+RAIZ(5))/2)^-50))/RAIZ(5)
Lgicamente, es posible averiguar cualquier otro sustituyendo los dos 50 de la frmula por el
nmero que se desee; pero hay que tener en cuenta que, debido a la precisin numrica de Excel
(15 dgitos), el mximo nmero que la frmula devolver correctamente es el 73 de la serie.
Usando una UDF que utilice el tipo de datos Decimal para hacer los clculos es posible averiguar
hasta el Fibonacci 139 (29 dgitos). En este libro de ejemplo hay un ejemplo de la funcin, junto con
algunas otras que hacen uso de este tipo de datos (artculo sobre el tema).
En esta pgina hay varias funciones para trabajar en Excel con enteros grandes, sirviendo una de
ellas para hallar nmeros de la serie Fibonacci ms all del 139 (en las pruebas he llegado hasta el
9999 de la serie).
La siguiente frmula devuelve VERDADERO si el nmero situado en A1 pertenece a la serie
Fibonacci y FALSO en caso contrario. Hay que tener en cuenta que, debido a la precisin numrica
de Excel, slo funciona hasta el nmero 73 de la serie (el 806.515.533.049.393):
{=NO(ESERROR(COINCIDIR(TEXTO($A$1;"0");TEXTO(((((1+RAIZ(5))/2)^FILA(INDIRECTO("2:73
")))-(-((1+RAIZ(5))/2)^-FILA(INDIRECTO("2:73"))))/RAIZ(5);0);"0")))}
Rachas [Ejemplo] <--Este ejemplo slo funciona en Excel 2007 y 2010
Por ejemplo, si en el rango A1:A30 hay un rango con nombre llamado Serie, con las letras
ABAACABBBAAACCAAAABCBBAAAAAACA (una letra en cada celda), y se necesita contar la
cantidad de rachas de A que tengan al menos dos aes, la frmula sera:
{=SUMA(SIGNO(SI(FRECUENCIA(SI(Serie="A";FILA(Serie)-
CONTAR.SI(DESREF(INDICE(Serie;1);;;FILA(INDIRECTO("1:"&FILAS(Serie))));"A"));SI(Serie="A";
FILA(Serie)-
CONTAR.SI(DESREF(INDICE(Serie;1);;;FILA(INDIRECTO("1:"&FILAS(Serie))));"A")))>=2;FRECU
ENCIA(SI(Serie="A";FILA(Serie)-
CONTAR.SI(DESREF(INDICE(Serie;1);;;FILA(INDIRECTO("1:"&FILAS(Serie))));"A"));SI(Serie="A";
FILA(Serie)-
CONTAR.SI(DESREF(INDICE(Serie;1);;;FILA(INDIRECTO("1:"&FILAS(Serie))));"A"))))))}
Para averiguar el promedio de elementos que tienen esas rachas, la frmula sera:
{=PROMEDIO(SI(FRECUENCIA(SI(Serie="A";FILA(Serie)-
CONTAR.SI(DESREF(INDICE(Serie;1);;;FILA(INDIRECTO("1:"&FILAS(Serie))));"A"));SI(Serie="A";
FILA(Serie)-
CONTAR.SI(DESREF(INDICE(Serie;1);;;FILA(INDIRECTO("1:"&FILAS(Serie))));"A")))>=2;FRECU
ENCIA(SI(Serie="A";FILA(Serie)-
CONTAR.SI(DESREF(INDICE(Serie;1);;;FILA(INDIRECTO("1:"&FILAS(Serie))));"A"));SI(Serie="A";
FILA(Serie)-
CONTAR.SI(DESREF(INDICE(Serie;1);;;FILA(INDIRECTO("1:"&FILAS(Serie))));"A")))))}
En esta ltima frmula sera posible sustituir PROMEDIO por otra funcin estadstica, como por
ejemplo MAX MIN.
Lgicamente, sustituyendo >=2 por >=nmero_que_se_desee la frmula devolver los datos
correspondientes a dicho nmero.
Sera posible obtener un listado con el nmero de repeticiones que tiene cada una de las rachas.
La frmula es:
{=INDICE(SI(FRECUENCIA(SI(Serie="A";FILA(Serie)-
CONTAR.SI(DESREF(INDICE(Serie;1);;;FILA(INDIRECTO("1:"&FILAS(Serie))));"A"));SI(Serie="A";
FILA(Serie)-
CONTAR.SI(DESREF(INDICE(Serie;1);;;FILA(INDIRECTO("1:"&FILAS(Serie))));"A")))>=2;FRECU
ENCIA(SI(Serie="A";FILA(Serie)-
CONTAR.SI(DESREF(INDICE(Serie;1);;;FILA(INDIRECTO("1:"&FILAS(Serie))));"A"));SI(Serie="A";
FILA(Serie)-
CONTAR.SI(DESREF(INDICE(Serie;1);;;FILA(INDIRECTO("1:"&FILAS(Serie))));"A"))));K.ESIMO.M
ENOR(SI(SI(FRECUENCIA(SI(Serie="A";FILA(Serie)-
CONTAR.SI(DESREF(INDICE(Serie;1);;;FILA(INDIRECTO("1:"&FILAS(Serie))));"A"));SI(Serie="A";
FILA(Serie)-
CONTAR.SI(DESREF(INDICE(Serie;1);;;FILA(INDIRECTO("1:"&FILAS(Serie))));"A")))>=2;FRECU
ENCIA(SI(Serie="A";FILA(Serie)-
CONTAR.SI(DESREF(INDICE(Serie;1);;;FILA(INDIRECTO("1:"&FILAS(Serie))));"A"));SI(Serie="A";
FILA(Serie)-
CONTAR.SI(DESREF(INDICE(Serie;1);;;FILA(INDIRECTO("1:"&FILAS(Serie))));"A"))));FILA(INDIR
ECTO("1:"&SUMA(SIGNO(SI(Serie="A";FILA(Serie)))))));FILA()))}
Esta frmula habra que situarla en la fila 1 de cualquier columna vaca, y luego copiarla y pegarla
hacia abajo. Cuando no queden rachas por mostrar comenzar a aparecer el error #NUM!
Como curiosidad, esta ltima frmula, con sus ms de 950 caracteres, es la ms larga de las que
aparecen en esta pgina, y a mi juicio es tambin una de las ms complicadas, si no la que ms.
Ninguna de las frmulas anteriores funciona con versiones de Excel anteriores a la 2007 puesto
que superan (la ltima, ampliamente) el lmite de siete niveles de anidamiento que admiten dichas
versiones.
Una simplificacin de estas frmulas puede ser utilizada para averiguar la racha que tiene ms
nmeros positivos y ms negativos en el rango con nombre Serie. La frmula para averiguar la
racha con ms nmeros positivos es:
{=MAX(FRECUENCIA(SI(Serie>0;FILA(Serie)-
CONTAR.SI(DESREF(INDICE(Serie;1);;;FILA(INDIRECTO("1:"&FILAS(Serie))));">0"));SI(Serie>0;
FILA(Serie)-
CONTAR.SI(DESREF(INDICE(Serie;1);;;FILA(INDIRECTO("1:"&FILAS(Serie))));">0"))))}
y para averiguar la que tiene ms nmeros negativos:
{=MAX(FRECUENCIA(SI(Serie<0;FILA(Serie)-
CONTAR.SI(DESREF(INDICE(Serie;1);;;FILA(INDIRECTO("1:"&FILAS(Serie))));"<0"));SI(Serie<0;
FILA(Serie)-
CONTAR.SI(DESREF(INDICE(Serie;1);;;FILA(INDIRECTO("1:"&FILAS(Serie))));"<0"))))}
Resulta evidente que estas mismas frmulas sirven tambin para averiguar las rachas de nmeros
mayores o menores a uno dado. Lo nico que habra que hacer es sustituir ">0" y "<0" por el
nmero que se necesitase.
Estas dos ltimas frmulas s pueden ser utilizadas en versiones de Excel anteriores a la 2007. En
este enlace hay un libro (versin Excel 2003) con ambas frmulas trabajando.
[Ejemplo para las tres frmulas que vienen a continuacin]
Averiguar la cantidad de divisores de un nmero entero positivo y obtener una lista de los
mismos
La siguiente frmula devuelve la cantidad de divisores del nmero entero positivo situado en A1:
{=SUMA(--((MULTIPLO.INFERIOR(A1;FILA(INDIRECTO("1:"&ENTERO(A1/2))))=A1)))}
Es posible obtener un listado de dichos divisores poniendo la siguiente frmula en la fila 1 de
cualquier columna:
{=K.ESIMO.MAYOR(((MULTIPLO.INFERIOR($A$1;FILA(INDIRECTO("1:"&ENTERO($A$1/2))))=$
A$1)*FILA(INDIRECTO("1:"&ENTERO($A$1/2))));FILA())}
y copindola hacia abajo hasta igualar el nmero de divisores del nmero (el resultado de la
primera frmula). Si se sustituye FILA() por un nmero entero, la frmula devolver el divisor que
ocupe ese nmero en la lista de divisores (ordenada de forma descendente). Si el nmero
excediese la cantidad de divisores, la frmula devolver 0.
La frmula no considera el entero que procesa como divisor de s mismo, aunque lgicamente lo
es.
Averiguar la suma de los divisores de un nmero entero positivo
La siguiente frmula devuelve la suma de los divisores del nmero entero positivo situado en A1:
{=SUMA((MULTIPLO.INFERIOR(A1;FILA(INDIRECTO("1:"&ENTERO(A1/2))))=A1)*FILA(INDIREC
TO("1:"&ENTERO(A1/2))))}
La frmula no considera el entero que procesa como divisor de s mismo, aunque lgicamente lo
es.
Averiguar si un nmero entero positivo es Defectivo, Perfecto o Abundante
La siguiente frmula dir qu tipo de nmero es el situado en A1:
{=ELEGIR(SIGNO(SUMA((MULTIPLO.INFERIOR(A1;FILA(INDIRECTO("1:"&ENTERO(A1/2))))=A1
)*FILA(INDIRECTO("1:"&ENTERO(A1/2))))-A1)+2;"Defectivo";"Perfecto";"Abundante")}
El nmero ms alto que pueden procesar estas frmulas en Excel 2003 es el 131.073. En Excel
2007 y 2010 es el 2.097.153, pero los clculos necesarios para nmeros tan grandes pueden llevar
bastante tiempo.
Nota: en esta pgina hay funciones VBA que pueden hacer los tres clculos anteriores hasta el
mximo del tipo de datos Currency de VBA (922.337.203.685.477)
Complicando estas frmulas es posible llegar a procesar hasta el 13.107.200 en Excel 2003 y
hasta el 209.715.200 a partir de Excel 2007, pero hay que tener en cuenta que los clculos para
nmeros tan grandes pueden requerir muchsimo tiempo y, adems, que es posible que aparezca
el error "Excel se ha quedado sin recursos" dependiendo del nmero que se est intentando
procesar y de la memoria de que disponga la computadora.
La frmula para calcular la suma de los divisores del nmero entero positivo situado en A1 es:
{=SUMA((MULTIPLO.INFERIOR(A1;COLUMNA(INDIRECTO("a:cv"))+(FILA(INDIRECTO("1:"&RE
DONDEAR.MAS((A1/100)/2;0)))-
1)*100)=A1)*(COLUMNA(INDIRECTO("a:cv"))+(FILA(INDIRECTO("1:"&REDONDEAR.MAS((A1/10
0)/2;0)))-1)*100))}
La frmula para obtener el listado de los divisores es:
{=K.ESIMO.MAYOR((MULTIPLO.INFERIOR($A$1;COLUMNA(INDIRECTO("a:cv"))+(FILA(INDIRE
CTO("1:"&REDONDEAR.MAS(($A$1/100)/2;0)))-
1)*100)=$A$1)*(COLUMNA(INDIRECTO("a:cv"))+(FILA(INDIRECTO("1:"&REDONDEAR.MAS(($A
$1/100)/2;0)))-1)*100);FILA())}
Si se sustituye FILA() por un nmero entero, la frmula devolver el divisor que ocupe esa posicin
en la lista de divisores ordenada de mayor a menor. Si el nmero excediese la cantidad de
divisores, la frmula devolver 0. Si se desease la lista de divisores ordenada de menor a mayor lo
nico que habra que hacer es sustituir K.ESIMO.MAYOR por K.ESIMO.MENOR.
Y la frmula para averiguar si el nmero es Defectivo, Perfecto o Abundante:
{=ELEGIR(SIGNO(SUMA((MULTIPLO.INFERIOR(A1;COLUMNA(INDIRECTO("a:cv"))+(FILA(INDI
RECTO("1:"&REDONDEAR.MAS((A1/100)/2;0)))-
1)*100)=A1)*(COLUMNA(INDIRECTO("a:cv"))+(FILA(INDIRECTO("1:"&REDONDEAR.MAS((A1/10
0)/2;0)))-1)*100))-A1)+2;"Defectivo";"Perfecto";"Abundante")}
Hay que tener en cuenta que las dos ltimas frmulas podran no devolver el resultado correcto si
el nmero a procesar fuese inferior al 101


1. FORMULAS DE EXCEL SIRVEN PARA
2. =SUMA (A : A) Suma todos los valores numricos en la columna A.
3. =CONTAR (B1 : D3) Cuenta cuantos nmeros hay en el rango.
4. =CONTARA (C:C) Cuenta cuantos valores no vacios hay en el rango de celdas.
5. =MAA: A Devuelve el mayor valor de la lista de valores indicados.
6. =MIN (D: F Devuelve el menor valor de la lista de valores indicados.
7. =PROMEDIO (C:C) Calcula el promedio de los valores que recibe como parmetros.
8. =PRODUCTO (D: D) Multiplica los nmeros que recibe como argumento.
9. =RESIDUO (A:A) Devuelve el resto de una divisin.
10. =SIGNO (E: E Devuelve 1 si el numero es positivo, 0 si es el 0 -1 si es negativo
11. =ABS (B:B) Devuelve el valor absoluto de un nmero.
12. =ENTERO (E:E) Redondea un nmero hasta el entero inferior ms prximo.
13. =REDONDEAR (A : A) Redondea un nmero al nmero de decimales especificados.
14. =REDONDEA.IMPAR (B1: D3) Redondea un nmero hasta el siguiente nmero impar.
15. =REDONDEA.PAR (C:C) Redondea un nmero hasta el siguiente nmero par.
16. =REDONDEA.MAS (D: D) Redondea un numero hacia arriba en direccin contraria al cero.
17. =DECIMAL (A: A) Formatea un nmero con un nmero de decimales fijo.
18. =MONEDA (B:B) Convierte un nmero a texto usando formato de moneda.
19. =AHORA (C:C) Devuelve la fecha y hora actuales.
20. =HOY (D: D) Devuelve la fecha actual.
21. =AO (U:U) Devuelve el ao de la fecha indicada.
22. =DIA (V:V) Devuelve el da del mes de la fecha.
23. =MAYUS (A:A) Convierte el texto a maysculas.
24. =MINUS (B:B) Convierte el texto a minsculas.
25. =LARGO (A:A) Devuelve la longitud del texto.
26. =DERECHA (H:H) Devuelve los ltimos caracteres de un texto.
27. =IZQUIRDA ( A:A) Devuelve los primeros caracteres de un texto.
28. =REPETIR (3:3) Repite el texto el nmero de veces que se indique.
29. =ESPACIO (U:Z) Elimina los espacios del texto.
30. =LIMPIAR ( A:A) Elimina los caracteres que no se eliminan del texto.
31. =CONCATENAR (C:N) Concatena los textos.
32. =FALSO (C:C) Devuelve el valor lgico falso.
33. =VERDADERO (H Devuelve el valor lgico verdadero.
34. =RAIZ (B:B) Devuelve la raz cuadrada de un nmero.
35. =POTENCIA (V:Z) Devuelve el resultado de elevar un nmero a una potencia.
36. =EXP (A:A) Devuelve i eleva a la potencia de un numero.
37. =IN (B:B) Devuelve el logaritmo neperiano de un nmero.
38. =LOG (O: O) Devuelve el logaritmo en la base indicada de un nmero.
39. =LOG 10 (I: I) Devuelve el logaritmo en base 10 del nmero.
40. =FACT (H:H) Devuelve la factorial del nmero.
41. = MDETERM (I: I) Devuelve el determinante de la raz indicada.
42. =MINVERSA (A:A) Devuelve la inversa de la matriz seleccionada.
43. =MMULT (Z:Z) Devuelve el producto de dos races.
44. =SUMAPRODUCTO (I: I) Multiplica y suma los componentes de las matrices.
45. =MULTIPLO.INFERIOR (A:A) Idntica a la anterior pero usando el mltiplo inferior.
46. =RADIANES (N:N) Convierte grados en radianes.
47. =GRADOS (J:J) Convierte radianes en grados.
48. =ACOS (G:G) Arco coseno de un nmero.
49. =COS (M:M) Coseno de un nmero.
50. =SEN (V:V) Seno de un nmero.
51. =TAN (E:E) Tangente de un nmero.
52. =ASENO (X1:Z1) Arco seno de un nmero.
53. =ATAN (I: I) Arco tangente de un nmero.
54. =ATAN2 (R;R) Arco tangente del ngulo indicado con las dos coordenadas.
55. =COSH (T:T) Coseno hiperblico de un nmero.
56. =SENH (Y:Y) Seno hiperblico de un nmero.
57. =TANH (C:C) Tangente hiperblico de un nmero.
58. =ACOSH (I: I) Arco coseno hiperblico de un nmero.
59. =ASENH (U:U) Arco seno hiperblico de un nmero.
60. =ATANH (A1:Z1) Arco tangente hiperblico de un nmero.
61. =BUSCARH (A:Z) Busca por filas.
62. =COLUMNA (I: I) Devuelve el nmero de columna de la referencia.
63. =FILA (C:C) Devuelve el nmero de una fila de la referencia.
64. =FILAS (C:C) Devuelve el nmero de las filas de la referencia.
65. =COLUMNAS (A:A) Devuelve el nmero de columnas de la referencia.
66. =AREA (B:B) Devuelve el nmero de reas.
67. =ELEGIR (M:M) Devuelve el argumento de valor con el No. Del ndice.
68. =TRANSPONER (I:M) Transpone el rango indicado.
69. =N (T:T) Convierte el valor a formato numrico.
70. =MODA (H:H) Devuelve el valor mas frecuente de una base de datos.
71. =VAR Devuelve la variancia de la muestra.
72. CUARTIL (U:U) Devuelve el cuartil indicado del rango.
73. PRUEBAF (J:J) Devuelve el resultado de una prueba f.
74. GAMMA (A:A) Devuelve el logaritmo neperiano de la funcin gamma.
75. FISHER (A:Z) Devuelve la transformacin de Fisher.
7 y 8
Cmo calculo una raz cuadrada en Excel?

Para calcular una raz cuadrada en Excel le propondr 2 mtodos,
en base, a dos funciones distintas.

Funcin RAIZ
Funcin POTENCIA

FUNCION RAIZ
Este mtodo es el procedimiento ms directo y cmodo para
realizarla. La estructura de la funcin es: =RAIZ(NUMERO). Para
este caso trabajar sobre la raz cuadrada de el numero 2.

El procedimiento es el siguiente:

a) Redactar en la celda donde quiera el resultado, =RAIZ(
b) Redacte el valor o seleccione la celda donde se encuentra el
valor a la que aplicaremos la raz. En este caso es el numero 2.
c) Una vez seleccionado el rango de celdas cierre la funcin con un
parntesis ) y ahora podr presionar ENTER o ACEPTAR.
La formula quedara de la siguiente manera: =RAIZ(2)
El resultado de la raz de 2 es
1.41421. El nmero de decimales depender de la configuracin
numrica de su celda.


FUNCION POTENCIA
Este otro mtodo es un procedimiento un poco ms complejo, es
apto para aquellos que prefieren elegir el camino austero,an
conociendo el camino corto. Me permitir continuar con el ejemplo
de la raz cuadrada del nmero 2. La estructura de la funcin es:
=POTENCIA(NUMERO;POTENCIA).


El procedimiento es el siguiente:

a) Redactar en la celda donde queremos el resultado, el signo
=POTENCIA(
b) Aada el nmero o el valor que quiera potencializar. Este puede
redactarlo manualmente o bien puede seleccionar la celda donde
se encuentre el valor. En este caso es el nmero 2.
c) Agregue inmediatamente despus de el numero a potenciar el
signo ;
d) Ahora aada el nmero la potencia, es decir el nmero al cual lo
quiere elevar. Para este caso es 1/2.
1/2 representa el cuadrado de la raiz. Si usted quisiera aplicar este
ejercicio para una raiz cubica la fraccion seria 1/3.

e) Una vez aadida la potencia cierre la funcin con un parntesis ) y
ahora podr presionar ENTER o ACEPTAR.


El resultado de la raz de 2 es 1.41421. El nmero de decimales
depender de la configuracin numrica de su celda.


**El equivalente de la funcin POTENCIA en ingles es POWER.
**El equivalente de la funcin RAIZ en ingles es SQRT.
** Recuerde que el signo = siempre debe ir al inicio de toda
formula.
** Si su computadora esta configurada en el lenguaje INGLES, es
probable que deba usar : en lugar de ; Esta observacin la
subrayo para quienes prefieren redactar manualmente la formula
completa en lugar de usar el cursor o ratn al momento de elegir
los rangos a sumar.
** Excel solo opera solo con valores numricos: nmeros enteros,
decimales, fechas, horas, etc, pero NUNCA caracteres tipo TEXTO.
** Recuerde que la redaccin de las formulas jams debe llevar
espacios entre un carcter y otro.

13 y 14
SUMAR.SI Y CONTAR.SI
Veamos:
Supongamos el rango A1:A10, en los cuales existen los siguientes valores:
30, -2, 10, -12, 15, -8, 20, -5, -10, 25; es decir que en la celda A1 tendremos 30, en la A2
tendremos -2, en la celda A3 tendremos 10, etc.
Deberemos extraer los valores positivos y sumarlos. Vemos que tenemos 5 valores
positivos [30, 10, 15, 20, 25] que sumados dan un total de 100, luego el promedio ser de
20 [100/5].
Hacerlo manualmente ha sido relativamente sencillo porque slo tenemos un rango de 10
nmeros
Pero utilizando nuestra formula el resultado ser inmediato.
Formula:
=SUMAR.SI(A1:A10;">0")/CONTAR.SI(A1:A10;">0")
Esta formula la colocamos en la celda en la que necesitemos el resultado.
Lo que hace la primera parte de la formula, es decir, la funcin SUMAR.SI, es sumar los
valores mayores a cero que se encuentran en el rango A1:A10.
La segunda parte de la formula [la que divide], lo que hace es contar el numero de celdas o
nmero de valores que son mayores a cero, para lo cual se utiliza la funcin CONTAR.SI.
Ntese que las dos funciones deben buscar el cumplimiento de una condicin, cual es la
que los nmeros a sumar deben ser mayores a cero, condicin que se puede cambiar por
cualquier otra, de suerte que son mltiples las situaciones que se pueden resolver con estas
funciones.














1) =PROMEDIO(A1:B1): Devuelve el promedio (media aritmtica) de los argumentos, los cuales pueden ser nmeros,
nombres, matrices o referencias que contengan nmeros.

2) =ATAN(A1:B1): devuelve el arco tangente de un numero en radianes, dentro del intervalo Pi/2 Pi/2.

3) =SUMA(A1:B1): Suma rodos los nmeros en un rango de celdas.

4) =SI(S1:B1):Compruebe si se cumple una condicin y devuelve una valor si se evala como verdadero y otro valor si se
evala falso.

5) =HIPERVINCULO(A1:B1): crea un salto directo o salte que abre un documento guardado en el disco duro, en un servidor
de red o en Internet.

6) =CONTAR(A1:B1): Cuenta el numero de celda de un rango que contienen nmeros.

7) =ABS(A1:B1): Devuelve el valor absoluto de un numero, es decir, un numero sin signo.

8) =ACOS(A1:B1): devuelve el arcoseno de un numero, en radianes, dentro del intervalo 0 a Pi. El arcoseno es el ngulo
cuyo coseno es Numero.

9) =ACOSH(A1:B1): Devuelve el coseno hiperblico inverso de un numero.

10) =AHORA(A1:B1): Devuelve la fecha y hora actuales con formato de fecha y hora.

11) =ALEATORIO(A1:B1): Devuelve un numero aleatorio mayor o igual que 0 y menor que 1, distribuido (cambia al
actualizarse).

12) =ALEATORIO.ENTRE(A1:B1): Devuelve el numero aleatorio entre que los nmeros que especifique.

13) =AMORTIZ.LIN(A1:B1): Devuelve la depreciacin lineal prorrateada de un activo para cada periodo contable
especificado.

14) =AMORTIZ.PROGRE(A1:B1): Devuelve la depreciacin lineal prorrateada de un activo para cada periodo contable
especificado.

15) =AO(A1:B1): Devuelve el ao, un entero en el rango 1900-9999.

16) =AREAS(A1:B1): Devuelve el numero de reas de una referencia. Un rea es un rango de celdas continuas o una nica
celda.
17) =ASENOH(A1:B1): Devuelve el seno hiperblico inverso de un numero.

18) =ASENO(A1:B1): Devuelve el arcoseno de un numero en radianes, dentro del intervalo p/2 a Pi/2.

19) =ATAN2(A1:B1): Devuelve el arco tangente de las coordenadas X e Y especificadas, en un valor en radianes
comprendiendo entre Pi y Pi, excluyendo Pi.

20) =ATANH(A1:B1): Devuelve el tangente hiperblica de un numero.

21) =BDCONTAR(A1:B1): Cuenta las celdas que contiene un numero en el campo (columna) de registro de la base de
datos que cumplen las condiciones especificadas.

22) =BDCONTARA(A1:B1): Cuenta el numero de celdas que no estn en blanco en el campo (columna) de los registros de
la base de datos que cumplen las condiciones especificadas.

23) =BDDESVEST(A1:B1): Calcula la desviacin estndar basndose en una muestra de las entradas seleccionadas de
una base de datos.

24) =BDDESVESTP(A1:B1): Calcula la desviacin estndar asndose en la poblacin total de las estradas seleccionadas
de una base de datos.

25) =BDEXTRAER(A1:B1): Extrae de una base de datos un nico registro que coincide con las condiciones especificadas.

26) =BDMAA1:B1): Devuelve el numero mximo en el campo (columna) de registros de la base de datos que coincide con
las condiciones especificadas.

27) =BDMIN(A1:B1): Devuelve el numero menor del campo (columna) de registro de la ase de datos que coincide con las
condiciones especificadas.

28) =BDPRODUCO(A1:B1): Multiplica los aloes del campo (columna) de registro en la base de datos que coincida con las
condiciones especificadas.

29) =BCPROMEDIO(A1:B1): Obtiene el promedio de los valores de una columna, lista o base de datos que cumplen las
condicionas especificadas.

30) =BDSUMA(A1:B1): Suma los nmeros en el campo (columna) de los registros que coincide con las condiciones
especificadas.

31) =BDCAR(A1:B1): Calcula la varianza basndose en una muestra de las entradas seleccionadas de una base de datos.

32) =BUSCAR(A1:B1): Busca valores de un rango de una columna o una fila o desde una matriz. Proporcionado para
compatibilidad con versiones anteriores.

33) =CANTIDAD.RECIBIDA(A1:B1): Devuelve la cantidad recibida al vencimiento para un valor burstil completamente
invertido.

34) =CARCTER(A1:B1): Devuelve el carcter especificado por el numero de cdigo a partir del conjunto de carcter
establecido por su PC.

35) =CELDA(A1:B1): Devuelve informacin acerca del formato, ubicacin o contenido de la primera celda, segn el orden
de lectura de la hoja, en una referencia.

36) =COCIENTE(A1:B1): Devuelve la parte entera de una divisin.

37) =CODIGO(A1:B1): Devuelve el cdigo del primer carcter del texto del conjunto de carcter usados por su PC.

38) =COLUMNA(A1:B1): Devuelve el numero de columna de una referencia.

39) =CONVERTIR(A1:B1): Convierte un numero de un sistema decimal a otro.

40) =COS(A1:B1): Devuelve el coseno de un ngulo.

41) =CRECIMIENTO(A1:B1): Devuelve el numero de una tendencia de crecimiento exponencial coincidente con puntos de
datos conocidos.

42) =DECIMAL(A1:B1): Redondea un numero a un numero especificado de decimales y devuelve el resultado como texto
con o sin comas.

43) =DELTA(A1:B1): Prueba si los dos nmeros son iguales.

44) =DERECHA(A1:B1): Devuelve el numero especificado de caracteres de principi de un cadena de texto.

45) =DESCIA2(A1:B1): Devuelve la suma de los cuadrados de las desviaciones de los puntos de datos con respecto al
promedio de la muestra.

46) =DIA(A1): Devuelve el da del mes (un numero de 1 a 31)

47) =DIAS360(A1:B1): Calcula el numero de das entre dos fechas basndose en un ao de 360 das (doce meses de 30
das).

48) =DURACION(A1:B1): Devuelve la duracin anual de un valor burstil con pagos de inters peridicos.

49) =ELEGIR(A1:B1): Elige un valor o una accin de una lista de valores a partir de un numero de ndice.

50) =ENCONTRAR(A1:B1): Devuelve la cadena inicial de un texto de otra cadena de texto. BUSCAR referencia entre
maysculas y minsculas.

51) =ESTEROS(A1:B1): Redondea un numero hasta el entero inferior mas prximo.

52) =ESPACIOS(A1:B1): Quita todos los espacios excepto los espacios individuales entre palaras.

53) =EXTRAE(A1:B1): Devuelve los carcter de una cadena de texto, dada una posicin y longitud inciales.

54) =FACT.DOBLE(A11:B1): Devuelve el factorial doble de un numero.

55) =FISHER(A1:B1): Devuelve la transformacin Fisher o coeficiente Z.

56) =GRADOS(A1:B1): Convierte radianes en grados.

57) =IGUAL(A1:B1): Compruebe si dos cadenas de texto son exactamente iguales y devuelve VERDADERO o FALSO.
EXACTO diferencia entre maysculas y minsculas.

58) =IMAGINARIO(A1:B1): Devuelve el coeficiente imaginario de un numero complejo.

59) =INFO(A1:B1): Devuelve informacin acerca del entorno operativo en uso.

60) =JERARQUIA(A1:B1): Devuelve la jerarqua de un numero dentro de una lista: su tamao a con relacin a los otros
valores en la lista.

61) =LARGO(A1:B1): Devuelve el numero de carcter de una cadena de texto.

62) =LIMPIAR(A1:B1: Quita todos los caracteres no imprimibles del texto.

63) =LN(A1:B1): Devuelve el logaritmo natural de un numero.

64) =MAA1:B1): Devuelve el valor mximo de una lista de valores. Omite los valores lgicos y el texto.

65) =MEDIANA(A1:B1): Devuelve la mediana o el numero central de un conjunto de nmeros.

66) =MIN(A1:B1): Devuelve el valor mnimo de una lista de valores. Omite los valores lgicos y el texto.

67) =MONEDA(A1:B1): Convierte un numero en texto usando formato de moneda.

68) =MULTINOMINAL(A1:B1): Devuelve el polinomio de un nmero.

69) =MULTIPLO.INFERIOR(A1:B1): Redondea un numero hacia abajo, hacia cero, al mltiplo significativo mas cercano.

70) =MULTIPLO.SUPERIO(A1:1): Redondea un numero hacia arriba, al entero o mltiplo significativo mas prximo.

71) =NUMERO.ROMANO(A1:B1): Convierte un numero aravico en numero romano, en formato de texto.

72) =POTENCIA(A1:B1): Devuelve el resultado de elevar el numero a una potencia.

73) =PRECIO(A1:B1): Devuelve el precio de 100 $ de valor nominal de un valor burstil que paga una tasa de inters
peridica.

74) =PRODUCTO(A1:B1): Multiplica todos los nmeros especificados como argumentos.

75) =REDONDEAR(A1:B1): Redondea un numero al numero de decimales especificados.

You might also like