Lista de funciones

English version.

Por favor lean
esta nota.

=CONVERTIR, 638844971
=DIA.LAB, 1679294519
=FRAC.AÑO, 734789689
=NUM.DE.SEMANA, -601489317
=AMORTIZ.LIN, 2050949212
=AMORTIZ.PROGRE, -760479651
=CANTIDAD.RECIBIDA, 1825046605
=CUPON.DIAS, -1225457601
=CUPON.DIAS.L1, -1886650304
=CUPON.DIAS.L2, 85852225
=CUPON.FECHA.L1, 1738735682
=CUPON.FECHA.L2, -2019426237
=CUPON.NUM, -1858994114
=DURACION, -2027749294
=DURACION.MODIF, -2114781101
=INT.ACUM, -692060092
=INT.EFECTIVO, 226623539
=LETRA.DE.TES.EQV.A.BONO, -600899503
=LETRA.DE.TES.PRECIO, -2087911345
=LETRA.DE.TES.PRECIO, -2087911345
=LETRA.DE.TES.RENDTO, -2095251376
=MONEDA.DEC, -2108293060
=MONEDA.FRAC, -2128216003
=PAGO.INT.ENTRE, 1933180986
=PAGO.PRINC.ENTRE, -1730019269
=PRECIO, -1461321658
=PRECIO.DESCUENTO, 1303642186
=PRECIO.PER.IRREGULAR.1, -2005663660
=RENDTO.PER.IRREGULAR.2, 1307508823
=RENDTO.VENCTO, 526319689
=RENDTO, 1736245319
=RENDTO.DESC, -2110848949
=RENDTO.PER.IRREGULAR.1, 1206845525
=RENDTO.PER.IRREGULAR.2, 1307508823
=RENDTO.VENCTO, 526319689
=TASA.DESC, -1081081780
=TASA.INT, -1046478770
=TASA.NOMINAL, 1421541428
=TIR.NO.PER, -1080295335
=VF.PLAN, 1605632050
=VNA.NO.PER, -841220008
=ALEATORIO.ENTRE, 1788346458
=M.C.D, 1334050856
=M.C.M, -15466455
=MULTINOMIAL, -164822998
=RAIZ2PI, 406257673
=REDOND.MULT, 147456011
=SUMA.SERIES, 1365508135
=SUMA.SERIES, 1365508135
=BESSELI, 571539472
=BESSELJ, 572588046
=BESSELY, 588316687
=BIN.A.DEC, 908066819
=BIN.A.HEX, -141557713
=BIN.A.OCT, -2125463506
=COMPLEJO, -1477705690
=CONVERTIR, 638844971
=DEC.A.BIN, 908066853
=DEC.A.HEX, -1690304477
=DEC.A.OCT, -310378460
=DELTA, -286195700
=FACT.DOBLE, 1382350854
=FUN.ERROR, 2124677124

Parte de las funciones del complemento Herramientas para análisis y resultados obtenidos al tipearlas sin argumentos ni paréntesis.

John Walkenbach: Mr. Spreadsheet

John Walkenbach (Mr. Spreadsheet) es considerado la máxima autoridad mundial en hojas de cálculo (léase Excel).

John se dedica de tiempo completo al estudio y desarrollo de productos en Excel. Es autor de The Spreadsheet Page, así como de más de 50 libros de Excel (listados aquí). Ha escrito más de 300 artículos y revisiones en revistas como InfoWorld, PC World, PC/Computing, entre otras. Fue autor durante tres años de la columna mensual de hojas de cálculo de PC World. Asimismo, es autor de The Spreadsheet Page Blog y co-autor de Daily Dose of Excel, dos de los blogs sobre Excel más populares. Desde el 2000, ha sido nombrado Excel MVP por Microsoft por noveno año consecutivo. Ha elaborado numerosos complementos y programas en Excel, la mayoría de ellos gratuitos, y continuamente da conferencias. Recibe las nuevas versiones de Excel seis meses antes que los demás usuarios para evaluarlas. Actualmente reside en Tucson, Arizona, en los Estados Unidos.

El día de ayer, 1 de octubre, recibí un correo del sr. Walkenbach.
En él, Mr. Spreadsheet me da su opinión acerca de un raro comportamiento que observé en Excel 2003, el cual documentaré después, con más calma (por aquello de la piratería, you know...). Esta fue su respuesta tal cual:


That's pretty strange. It doesn't happen in Excel 2007 because the ATP functions are now built-in.

I have Excel 2003 installed, but I didn't install the ATP. I'll see if I can find the original CD and install the ATP to check it out.
Regards,
John


En lo que a Excel se refiere, el haber encontrado algo sobre lo cual Mr. Spreadsheet no tenía noticia, constituye uno de mis mayores logros.
Es exactamente esto lo que me apasiona de Excel: su absoluta inabarcabilidad. Nadie, ni siquiera John, puede preciarse de conocerlo todo.

Nota: ATP son las iniciales de Analysis Toolpak, nombre en inglés de Herramientas para análisis.

Resultado inesperado

Cuando ingresamos una función sin argumentos ni paréntesis (por ejemplo, "=PROMEDIO"), al aceptarla, Excel nos devolverá el error #¿NOMBRE?, ya que interpreta que quisimos introducir un nombre, el cual no está definido.

¿O no?

Hace poco, estuve trabajando en un modelo con fechas en Excel. Como necesitaba calcular el número de días hábiles entre dos fechas, me dispuse a utilizar la función DIAS.LAB. Sin embargo, al comenzar a escribir la fórmula, presioné (accidentalmente) Enter justo después de escribir el nombre de la función (es decir "=DIAS.LAB", Enter). Inesperadamente Excel devolvió:

840368184

De dónde viene este número, a qué se refiere o por qué se obtiene precisamente este número y no otro, es algo que ignoro completamente. Como este comportamiento fue completamente inesperado, quise reproducirlo en otros equipos. Mismo resultado. Me pregunté también si esto ocurriría con otras funciones, así que ingresé =SUMA, =MIN, =DESREF, =DERECHA, =EXTRAE, entre otras. En todos estos casos obtuve el resultado esperado #¿NOMBRE?. Sin embargo, al probar con =CONVERTIR Excel devolvió:

638844971.

Otros resultados fueron:

=DIA.LAB devuelve 1679294519

=FRAC.AÑO devuelve 734789689

Incluso hay resultados negativos. =NUM.DE.SEMANA devuelve -601489317.

Concluí que esto es un comportamiento exclusivo de las funciones del complemento Herramientas para análisis (para una lista completa de sus funciones y resultados, clic aquí).

Al continuar con esta "experimentación", probé ahora con funciones de otros complementos que he descargado de la red. Por ejemplo, con =COUNTDIFF obtuve: 1769668796. Similar comportamiento observé con el resto de las funciones de mis complementos. Posteriormente, traté con algunas funciones personalizadas. En todos los casos el resultado fue #¿NOMBRE?. Así pues, tuve que modificar mi teoría original: Este comportamiento ocurre con cualquier función perteneciente a cualquier complemento (Herramientas para análisis o cualquier otro). No ocurre con funciones nativas de Excel ni con funciones definidas por el usuario (FDU o UDF).

Dado que todo esto me pareció muy extraño, envié un correo a John Walkenbach sobre esto. Este fue mi mensaje original:

Hi John:

I entered this “formula”:

=CONVERT

Notice that I didn’t put the parenthesis. The cell shows:

638844971

That happens only whit add-in’s functions. With any other Excel built-in function we get #NAME?

Other examples:

=NETWORKDAYS produces 840368184

=WEEKNUM, -601489317

=UNIQUEVALUES, -1451032386

=WORKDAY, 1679294519

Always the syntax =[add-in function] (no parenthesis)

I think this is kind of an oddity. Or, if you may explain me where those numbers came from…

Thank you.

Esta fue su respuesta:


That's pretty strange. It doesn't happen in Excel 2007 because the ATP functions are now built-in.

I have Excel 2003 installed, but I didn't install the ATP. I'll see if I can find the original CD and install the ATP to check it out.

Regards,
John


Si algún lector tiene idea de por qué se producen estos números misteriosos, por favor háganoslo saber. Entre tanto, veré que obtengo de las distintas discusiones que surjan sobre esto para comentarlo aquí.

Primer año de vida

Este mes se cumple un año desde la publicación de la primera nota de este blog. Estas son las estadísticas del mismo según OneStat.com (gráfica semanal):

OneStat-semanal

Los principales indicadores son (pido una disculpa a los lectores por no utilizar un reporte en Excel):

Total de vistas de página: 14,753

Total de visitas: 8,898

Visitantes únicos por año: 7,802 (hay un discrepancia con lo mostrado por la gráfica de NeoCounter, al margen, debido a que este contador lo agregué ligeramente antes que el de OneStat)

La tercera semana de abril ha sido la más activa con 996 visitas. El día más activo fue el 25 de abril con 255 visitas. Puede verse que las visitas tuvieron un rápido incremento en los primeros meses de vida del blog hasta llegar al máximo observado en abril, así como un descenso menos acelerado, en los siguientes meses. Supongo que esto se debió a la menor frecuencia de publicación de las entradas. No obstante, al retomar una mayor frecuencia de publicación (a partir de agosto), el número de vistas ha vuelto a aumentar. Espero retomar la periodicidad en la publicación mostrada en los primeros meses.

A todos aquellos que han visitado este blog, gracias.

Seleccionar celdas con determinado valor

Hay ocasiones en las que necesitamos seleccionar todas las celdas de una hoja que contienen determinado valor, para borrarlas o editarlas de algún modo.

Normalmente utilizaríamos el Autofiltro. Supongamos la siguiente lista:
Queremos seleccionar todas las celdas que contienen el valor 1,000 para cambiar su formato a "#,##0.00".

Desplegamos el Autofiltro, y en una de las listas desplegables seleccionamos el valor que buscamos (1,000):

Finalmente editamos las celdas. Sin embargo, existe la posibilidad de que el valor que buscamos esté disperso en varias columnas, como en el presente ejemplo. Además, debemos editar las celdas una a una. No debemos editar toda la columna filtrada, ya que al editarla estaremos modificando también las celdas ocultas.

La mejor manera de lograrlo es utilizando el comando Buscar (Edición - Buscar... o Ctrl + B). Podemos aprovechar el hecho de que al seleccionar uno de los resultados de búsqueda, Excel selecciona también la celda respectiva. Retomando el ejemplo, procedemos como sigue:

Vamos a Edicion - Buscar...

Establecemos el valor a buscar (1,000) y damos clic en el botón Buscar todo.

Seleccionamos todos los resultados de búsqueda

y presionamos Esc para cerrar el cuadro Buscar.

Finalmente, procedemos a cambiar el formato. Formato - Celdas... (o Ctrl + 1), ficha Número, valor "#,##0.00", Aceptar (o clic dos veces en el botón Aumentar decimales de la Barra de herramientas formato).

El símbolo de promedio

Recientemente, estuve trabajando con una columna que indicaba los promedios de ciertos valores. Dado que el título que utilizaba (así es, "Promedio") era sustancialmente más lago que los valores mostrados, quise reemplazar el título y poner únicamente el símbolo de promedio.

Los lectores seguramente sabrán que dicho símbolo es una "X", con una barra horizontal encima. Como consideré que este era un símbolo especial, ejecuté Insertar - Símbolo... para buscarlo.

Cuál va siendo mi sorpresa al descubrir que este símbolo no existe en este cuadro (gracias, Bill). Así que me puse a buscar otras formas de lograr mi objetivo. Lo primero que se me ocurrió fue escribir el caracter "_" y, en otro renglón de la misma celda (lo cual se logra con Alt + Enter, en modo edición) la letra "X". El resultado fue aceptable.

En su sitio Contextures, Debra Dalgleish propone esta solución:

1. Cambiar la fuente a Symbol.
2. Tipear el caracter de acento grave (`)
3. Cambiar la fuente a la que utilizaremos para la "X" y tipearla.

Aunque no obtuve buenos resultados en pantalla, Debra sostiene que la impresión sí debe verse bién.

Formato condicional avanzado III

Continúa de la nota anterior.

Hasta ahora, solo hemos utilizado la opción "Valor de la celda" de la primera lista desplegable del cuadro Formato condicional. Como recordarán, la segunda opción de esta lista se llama Fórmula. Es con esta opción, con la que se pueden establecer condiciones de formato mucho más complejas y por lo tanto útiles, ya que podremos valernos de cualquier función Excel integrada y/o referirnos a cualquier otra celda del libro.

Supongamos que tenemos una columna con fechas, y queremos aplicar formato a las que tengan una semana o menos de antigüedad. Seleccionamos entonces el rango, pongamos A2:A150, damos Formato - Formato condicional... y seleccionamos la opción Fórmula:

En la sección Fórmula: escribimos:

=A2>(HOY()-7)

Cualquier fórmula que ingresemos en esta sección deberá ser, en realidad, una expresión lógica; es decir, una expresión cuyos únicos resultados posibles sean VERDADERO o FALSO. En nuestro caso, si en la celda A2 tenemos la fecha del día de ayer, la fórmula devolverá VERDADERO. Y si tenemos una fecha de hace más de un mes, devolverá FALSO. Cada vez que el resultado de la fórmula sea VERDADERO, Excel aplicará el formato que hayamos especificado.

Observemos ahora que la referencia que hacemos a la celda A2 es una referencia relativa. Al hacerlo, estamos forzando a Excel a ajustar las referencias al resto de las celdas (recordemos que hemos seleccionado un rango: A2:A150), tal y como sucede cuando copiamos una fórmula normalmente. De esta forma, si revisamos las condiciones de cada celda, veremos que son:

=A2>(HOY()-7)
=A3>(HOY()-7)
=A4>(HOY()-7)
...
=A150>(HOY()-7)

Por el contrario, si el caso fuera comparar todas las celdas contra la fecha de la celda B2, entonces utilizaríamos una referencia absoluta para la celda B2 (y relativa para A2):

=A2>$B$2

De esta forma, Excel ajustará las condiciones como sigue:

=A2>$B$2
=A3>$B$2
=A4>$B$2
...
=A150>$B$2

Para cambiar el tipo de referencia, se puede usar F4 o escribir directamente los signos $ en la fórmula. Téngase presente que la celda utilizada como primer argumento (A2) debe ser la celda activa. De lo contrario, Excel podría ajustar erróneamente las referencias.

Una vez comprendido lo anterior, las condiciones que pueden elaborarse para formatos condicionales solo están limitadas por la imaginación del usuario. Algunos ejemplos:

=A2=MAX($A$2:$A$101). Formatea el valor máximo del rango.

=ESERROR(B2). Esta condición aplica formato a las celdas que contengan resultados de error en el rango. Puede utilizarse para ocultar dichos resultados, aplicando color de fuente blanco.

=CONTAR.SI($A$2:$A$100,A2)>1. Formatea valores duplicados en el rango. Para encontrar los no duplicados, cambiamos el signo > por =.

=ESTEXTO(A2). Señala los valores no numéricos en el rango.

=RESIDUO(FILA(),2). Formatea las filas del rango alternadamente. Por ejemplo, para colorear las filas impares.

=A1>PROMEDIO($A$2:$A$17). Muestra los valores numéricos que están por arriba del promedio del rango.

=RESIDUO(SUBTOTALES(3,$A$1:$A2),2). Formatea alternadamente las filas de un rango filtrado. Nótese la referencia mixta a la celda A2: columna absoluta, fila relativa.

Entre muchos otros. Toca al lector definir los formatos a aplicar.

Link.