sábado, junio 16, 2007

Números aleatorios únicos con Excel

En mi nota sobre Cómo generar números aleatorios con Excel mostraba cómo generar una serie de números aleatorios únicos, es decir, sin repeticiones. Esta técnica se basaba en un generar intencionalmente una referencia circular.
Hay, por supuesto, otras posibilidades que detallo en este archivo




1 – "Unique Numbers": Microsoft propone un macro para generar números aleatorios únicos. Esta macro siempre pone los resultados a partir de la celda A3 (en el original desde la celda A1, pero la he modificado para poder poner el comando en el encabezamiento).

2 – "RndNum": no recuerdo de que foro tome esta macro.

3 – "UDF" (user defined function): tomada del sitio de Ozgrid. Esta es una función volátil, es decir, cada vez que se produce algún cambio en la hoja, Excel recalcula la función. El resultado aparece como texto en al celda que contiene la función.

4 – "MRAND": mi favorito. Esta función forma parte del complemento desarrollado por Laurent Longre que ya he mencionado en mi nota sobre la función INDIRECTO con cuadernos Excel cerrados. Esta función tiene muchas ventajas. Al ponerla como función matricial, nos permite definir una matriz (x filas X y columnas) de números aleatorios no repetidos. Además podemos definir si la función debe ser volátil o no. La sintaxis es:
{=MRAND(máximo, inicio, cantidad, volátil o estática)}.

Este archivo contiene los ejemplos y los códigos de las macros.




Technorati Tags:

domingo, junio 10, 2007

JLD de duelo

Ana, mi esposa, mi compañera de estos últimos 30 años, ha fallecido después de haber luchado durante más de un año contra un cáncer.

Este blog permancerá inactivo hasta la próxima semana.

15-Junio-2007

Gracias, gracias a todos los que me han acercado su consuelo y su afecto; algunos en este blog, otros por mail. Me han reconfortado en estos momentos tan difíciles.

viernes, junio 01, 2007

Determinar si un valor existe en un rango de Excel

La forma más práctica de determinar si un valor (numérico o texto) existe en una hoja de Excel es usar el menú Edición—Buscar (o el atajo Ctrl+B). Si queremos limitar la búsqueda a un rango determinado en la hoja, lo que haremos es seleccionar primero el rango y luego efectuar la búsqueda.


También podemos usar fórmulas para determinar si un valor existe en un rango. Por ejemplo, en una celda ponemos el valor que buscamos y en otra celda ponemos una fórmula que de cómo resultado FALSO (si no existe) o VERDADERO (si existe).


Para efectuar la búsqueda en una matriz (un rango que comprende más de una columna) podemos usar esta fórmula matricial: {=O((B2:E7)=C9)}





Como con toda fórmula matricial, al introducirla en la celda apretamos Ctrl+Mayusculas+Enter.

Esta fórmula matricial funciona de la siguiente manera:

# la expresión {((B2:E7)=C9)} genera una matriz de resultados "VERDADERO" o "FALSO"

# esta matriz es evaluada por la función O. Esta función evalúa todos los resultados de la matriz y da como resultado VERDADERO si alguno de los elementos de la matriz es VERDADERO (sólo dará FALSO si todos los elementos son FALSO).

Pero, cómo hacemos una búsqueda exacta? Por ejemplo, en la celda D6 aparece el texto Xx, donde la primera X está en mayúsculas. La fórmula que hemos usado hasta ahora da VERDADERO también con Xx y con xx.


Para lograr una búsqueda exacta usamos la función IGUAL, en la siguiente fórmula matricial: {=O(IGUAL(B2:E7,C9))}




Technorati Tags: