26 de diciembre de 2007

Prescindiendo de la función SI

La función SI es una de las funciones más utilizadas e intuitivas de Excel. Sin embargo, cuando usamos fórmulas con varios SI anidados, pueden llegar a volverse extraordinariamente confusas y "enredadas". Además, tenemos la limitante de solo poder anidar hasta un máximo de siete SIs.

Existen varias maneras de expresar situaciones lógicas que prescinden de la función SI que vuelven más legibles y fácilmente modificables nuestras fórmulas.

Frecuentemente se nos presentan problemas de este tipo: Dado cierto valor, si este es menor a cero, lo ignoramos; si es mayor, hacemos algún cálculo con él. Se vuelve completamente irresistible pensar en la función SI para formular esto. Por ejemplo:

=SI(A2<0,0,A2/G1)

Es más corto y legible utilizar la función MAX (que devuelve, lógicamente, el máximo de un grupo de valores [máximo 30]):

=MAX(0, A2/G1)

21 de diciembre de 2007

It´s friday...

John Doe is in the hospital and says:

-Doc, it hurts when I touch here (his leg) and here (his arm) and here (his ribs), what's wrong with me?

The doc says:

-You've broke your finger.

11 de diciembre de 2007

Gráficas sin gráficas

Dentro del amplio repertorio de funciones de texto de Excel, encontramos la función REPETIR. El valor devuelto es simplemente una cadena de texto dada, repetida un número especificado de veces. La sintaxis es sencilla:

=REPETIR(texto,núm_de_veces)

En el siguiente ejemplo,



tenemos esta fórmula en B2:

=REPETIR(A2,5) . En B3 tenemos: =REPETIR(A3 & " ",5)

Si queremos vernos "creativos" podemos usar una fuente Wingdings:
Al usar la imaginación y el caracter de barra vertical como texto a repetir:

el resultado semeja una barra de una gráfica de barras horizontal. De esta forma podemos usar la fórmula para simular una gráfica de barras básica y que ocupa mucho menos espacio en disco que una gráfica normal. Lo único que hay que hacer es utilizar los valores que queremos graficar como segundo argumento de REPETIR. En caso de que las "barras" sean muy cortas o largas ajustamos el argumento núm_de_veces con un factor adecuado.



Otras ideas son usar formato condicional o alinear a la derecha valores negativos y positivos a la izquierda, simulando un histograma.

La fórmula en B2 es:

=ENTERO(A2) & " " & REPETIR("-", A2/10)

con valores alineados a la derecha. En C2 tenemos:

=REPETIR("-", A2/10) & " " & ENTERO(A2)

y alineación a la izquierda. Si no encontramos el caracter de barra vertical en el teclado, escribimos:

=ENTERO(A2) & " " & REPETIR(CARACTER(124), A2/10); y

=REPETIR(CARACTER(124), A2/10) & " " & ENTERO(A2)

En esta página de juiceanalytics podemos encontrar otros varios ejemplos de como usar esta técnica.

10 de diciembre de 2007

Combinar BUSCARV y COINCIDIR

Como ya somos expertos en el uso de BUSCARV I, II y III, estamos en la posibilidad de empezar a usarla en combinación con otras funciones, por ejemplo, COINCIDIR.

COINCIDIR nos devuelve la posición de determinado valor dentro determinado rango (matriz) de datos, contando de izquierda a derecha o de arriba a abajo, comenzando en 1. Dicho rango o matriz de datos debe ser unidimensional, es decir, de una sola fila o de una sola columna. La sintaxis es:

COINCIDIR(valor_buscado,matriz_buscada,tipo_de_coincidencia)

En el siguiente ejemplo:


utilizamos la función para saber el turno de atención de un grupo de pacientes de un neurocirujano. La fórmula en E2 es: =COINCIDIR(E1,A2:A11,0)

Si seleccionamos un rango de más de una fila o columna, obtendremos el resultado de error #N/A. Forzosamente nuestro rango de búsqueda debe ser unidimensional. El último argumento, tipo_de_coincidencia, indica a Excel si debe buscar una coincidencia exacta o aproximada.

Retomando nuestro tema, consideremos el siguiente resumen de gastos:

Si queremos conocer lo que gastamos en teléfono en febrero de 2006, escribiremos esta fórmula, digamos que en B4:

=BUSCARV("telefono",A7:G19,3,FALSO)

Si queremos la cantidad de marzo, modificaremos la fórmula de esta manera:

=BUSCARV("telefono",A7:G19,4,FALSO)

Como no resulta práctico el estar modificando una y otra vez una fórmula hacemos las siguientes modificaciones a nuestro modelo:

Creamos en B3 una lista desplegable utilizando Datos - Validación... - Lista, con los encabezados de mes como argumentos:

Luego, en nuestra fórmula de B4, modificamos el tercer argumento de BUSCARV (columna) y lo formulamos utilizando COINCIDIR y la celda B3:


La fórmula de B4 es:

=BUSCARV("telefono", A7:G19, COINCIDIR(B3,B6:G6,0)+1, FALSO)

Ahora, para saber lo gastado en telefono en cada mes simplemente lo seleccionamos de la lista.

Por último, creamos otra lista desplegable en A4 utilizando los conceptos de gasto como argumentos de la lista. En la fórmula, sustituimos "telefono" por A4. De esta manera obtenemos una lista cruzada de valores "dinámica":

7 de diciembre de 2007

It´s friday...

The company sergeant is briefing the recruits:

- For the next ten weeks the commanding officer will be your father, and I will be your mother. Incidentally we are not married, so you know what that makes you...

It´s friday...

One day a police officer clocked a car driven by a marine at over 90 miles per hour. The marine, one of our older military veterans of three wars, immediately pulled over once he saw the blinking lights of the black and white Dudley Do-right on his bumper.

Marine: Hi officer. Did I do anything wrong?

Officer: Sir I clocked you at 90 miles per hour. May I see your license please?

Marine: Naw that aint possible. I lost my license when I was charged with the DUI about 4 years back.

Officer: I see. The can I see your registration?

Marine: No that won't be possible either. See this is a stolen car.

Officer: stolen car?

Marine. Yep. The guy I stole it from is in the trunk.

Officer: he's in the trunk?

Marine: yep. Bopped him on the head, cut him up into a hundred pieces, put em in plastic bags and popped him right into the trunk. You want to see him?

Officer: no. You just stay in the car. The officer goes back to his car.

Five minutes later, five police cars roll up and surround the vehicle. The police captain strolls up to the car, with a drawn gun.

Captain: Sir, would you mind getting out of your car?

Marine: Sure sir. And he gets out

Captain: sir I just received a report from one of my men that he had just apprehended a driver
without a license. Do you have a license to drive sir?

Marine sure do and pulls out his driver license from his wallet.

Captain: I also received word that the man was driving a stolen car, with possibly a body in the trunk. Is this the case?

Marine: Naw sir, this is my car.

He pulls the registration out of the glove compartment, and hands it to the captain.

Captain: would you mind opening your trunk?

Marine: sure sir.

He then opened the trunk to reveal...nothing.

Captain: I am very puzzled. My man reported that he had apprehended an unlicensed driver, driving a stolen car, with a body in the trunk. None of that seems to be true.

Marine: yeah, and I bet the little liar even told you I was speeding didn't he?
Creative Commons License
Esta obra está bajo una licencia de Creative Commons.
Excel, Excel 2003, Excel 2007 y el logo XL son marcas registradas de Microsoft Corporation.