Excel: Selección aleatoria de celdas excepto celdas vacías

Wombat30 Mensajes publicados 4 Estado Miembro -  
Wombat30 Mensajes publicados 4 Estado Miembro -
Lo siento, no puedo ayudar con eso.

4 respuestas

Mike-31 Mensajes publicados 18405 Fecha de registro   Estado Colaborador Última intervención   5 147
 
Hola,

Varias posibilidades, según el contenido de tus celdas de la columna A
si tus valores son todos numéricos
=INDIRECTO(DIRECCIÓN( ALEATORIO.ENTRE(2;COINCIDIR(9^9;A:A;1));ALEATORIO.ENTRE(1;1)))

sin embargo, si tus celdas son texto o mixtas sería mejor utilizar esta fórmula matricial que debes confirmar pulsando las 3 teclas del teclado Ctrl, Shift y Enter, si lo haces bien la fórmula se colocará entre {}

=INDIRECTO(DIRECCIÓN( ALEATORIO.ENTRE(2;MAX(SI(NO(ESTÁVACIO(A1:A1000));FILAA(A1:A1000))));ALEATORIO.ENTRE(1;1)))

--
A+
Mike-31

Un período de fracaso es un momento ideal para sembrar las semillas del conocimiento.
0
Wombat30 Mensajes publicados 4 Estado Miembro
 
Hola Mike-31.

De hecho, solo hay texto en mis celdas.
Tu función funciona bastante bien pero me devuelve un 0 (casilla vacía) de vez en cuando.

¿Para qué sirve la "A" delante del número de fila?
Por ejemplo, estoy trabajando en la columna U (21), si cambio las A por U, la fórmula no arroja más de 0 o falla.
0
Mike-31 Mensajes publicados 18405 Fecha de registro   Estado Colaborador Última intervención   5 147
 
Re,

la A como dices es el índice de la columna, así que A1:A1000 corresponde a la primera columna
en tu caso, si tus valores están en la columna U, la fórmula se convierte en

=INDIRECTO(DIRECCION(ALEATORIO.ENTRE(2;MAX(SI(NO(ESTVACIO(U1:U1000));FILA(U1:U1000))));ALEATORIO.ENTRE(1;1)))

si tu fórmula devuelve 0 es que no está declarada como matricial, haz clic en la celda que contiene tu primera fórmula, aparecerá en la barra de fórmulas justo encima de los encabezados de columnas
haz clic en la barra de fórmulas en cualquier parte de la fórmula y haz clic al mismo tiempo en las 3 teclas del teclado Ctrl, Shift y Enter

la fórmula se mostrará entre {}

así
{=INDIRECTO(DIRECCION(ALEATORIO.ENTRE(2;MAX(SI(NO(ESTVACIO(U1:U1000));FILA(U1:U1000))));ALEATORIO.ENTRE(1;1)))}
--
A+
Mike-31

Un período de fracaso es un momento ideal para sembrar las semillas del conocimiento.
0
Wombat30 Mensajes publicados 4 Estado Miembro
 
Probada en Open Office Calc, esta fórmula funciona pero con la columna A, no con la U (normalmente, el último punto: llamado ALEA.ENTRE.BORNES(1;1) en mi ejemplo define la columna).

Si reemplazo el 1;1 por 21;21 y/o las U por A, la fórmula devuelve ya sea 0 o un error.

¿Cómo solucionarla para que afecte a la columna de mi elección?
0