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

  1. 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
  2. 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
  3. 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
  4. 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