Preguntas del foro de hojas de cálculo para elegir un DVD al azar

Preguntas del foro de hojas de cálculo para elegir un DVD al azar

Tengo una lista de mis (279) DVD en una hoja de cálculo de OpenOffice (versión 3.3.0) en mi computadora portátil con Windows 7 y quiero crear una fórmula para elegir al azar una película para ver (para ocasiones en las que no puedo recuperar mi mente). Esto funciona:

=RANDBETWEEN(1;279)

Pero todo lo que me da es un número que luego tengo que desplazarme hacia arriba y hacia abajo para verificar y también tiene el número total de DVD "codificados". Quiero mostrar el nombre de la película (que se encuentra en la columna A) de modo que si, por ejemplo, el número fuera 277, aparezca el nombre de la película, en este caso 'X-Men 2'. Supuse que simplemente agregaría la letra de la columna al frente de esta manera:

=A(RANDBETWEEN(1;279))

funcionaría pero arroja un error: #NOMBRE?

Entonces, ¿cómo puedo...?

  1. Haz que muestre el nombre de la película.
  2. ¿Detectar automáticamente el número superior a medida que agrego nuevos DVD para no tener que codificarlo en la fórmula?
  3. ¿Cómo puedo hacer para que simplemente haga clic en la celda para regenerar un nuevo número aleatorio? (es decir, no es necesario volver a calcular manualmente presionando Shift+Ctrl+F9)

Gracias.

Respuesta1

  1. Para devolver el valor de la columna A, filaR, puedes usar=INDIRECT("A"&R)

  2. Para contar el número de valores en la columna A, puede utilizar=COUNTA(A1:A65536)

    Entonces, para tu caso, podrías usar=INDIRECT("A"&RANDBETWEEN(1;COUNTA(A1:A65536)))

  3. Es posible que pueda crear un botón de macro que vuelva a calcular por usted. No sé lo suficiente sobre el lenguaje de macros de OpenOffice.org Calc para brindar más ayuda.

Respuesta2

No estoy lo suficientemente familiarizado con los aspectos internos de OpenOffice para ayudarlo con su tercera solicitud, aparte de decir que simplemente F9 funciona para mí, sin necesidad de cambios ni control. En cuanto a los otros dos, sin embargo:

=INDIRECT(ADDRESS(RANDBETWEEN(1,MATCH("*",$A$1:$A$50000,-1)),1))

Reemplace 50000con algo más grande si tiene o cree que tendrá más de 50000 DVD, y reemplace 1en la ADDRESS()función si está en una columna distinta a A.

Respuesta3

  • Pon la fórmula de la respuesta de Bavi_H en la celda B1( =INDIRECT("A"&RANDBETWEEN(1;COUNTA(A1:A65536))))
  • Haz que el ancho y el alto sean B1bonitos y grandes.
  • Formato B1con una fuente atractiva y de gran tamaño, elegida para que los títulos de películas largos sigan cabiendo
  • Seleccione cualquier celda en la columna Ay seleccione el elemento del menúFormat > Column > Hide
  • Seleccione el Tools > Macros > Record Macroselemento del menú
  • Presione F9 (o Ctrl-Shift-F9)
  • Haga clic en el Stop Recordingbotón
  • En lo Basic Macros Dialogque aparece, escriba un nombre como "actualizar" en el Macro namecampo, seleccione la hoja de cálculo en el Save macro incuadro, haga clic Savee ingrese un nombre de módulo como "películas", haga clicOK
  • Seleccione el elemento del menúView > Toolbars > Form Controls
  • En esa barra de herramientas, asegúrese de que el Design Modebotón esté activado
  • Presione el Form Designbotón para hacer visible la barra de herramientas de Diseño de formulario
  • Dentro de la Form Designbarra de herramientas, apaga el Open in Design Modebotón
  • En la Form Controlsbarra de herramientas, haga clic en el Label Fieldbotón
  • Arrastre el cursor desde la esquina superior izquierda de la celda B1 hasta su esquina inferior derecha para crear un campo de etiqueta del mismo tamaño que la celda.
  • Haga clic derecho en la celda/etiqueta y seleccione el Control...elemento en el menú contextual
  • Seleccione la Generalpestaña y luego elimine el texto del Labelcampo.
  • Seleccione la Eventspestaña, haga clic en el ...botón
  • En el Assign Actioncuadro de diálogo, haga clic en el Macro...botón
  • En el Macro Selectorcuadro de diálogo, expanda las entradas debajo de su hoja de cálculo en el Librarycuadro hasta que vea el nombre del módulo que usó anteriormente (por ejemplo, "películas") y haga clic en él.
  • En el Macro namecuadro, seleccione la macro que creó anteriormente (por ejemplo, "actualizar")
  • Haga clic OK, haga clic OKy luego cierre el Propertiescuadro haciendo clic en el Xbotón en la esquina superior derecha
  • En la Form Controlsbarra de herramientas, desactivaDesign Mode
  • Ahora, cuando haces clic en la celda, B1el nombre de la película que se muestra allí debería cambiar.
  • Cierra las barras de herramientas si quieres.
  • Antes de guardar la hoja de cálculo, puede ingresar Tools > Options > OpenOffice.org Calc > Viewy desactivar Window: Column Headers and Rows, Horizontal Scroll Barsy para obtener una apariencia muy limpia (es posible que deba volver a activarlos la próxima vez que cree una nueva hoja de cálculo en blanco) Vertical Scroll Bars.Sheet tabs
  • Guarde su hoja de cálculo
  • ???
  • Ganancia

Selector de películas

Respuesta4

Para hacerlo más fácil, numera los DVD en la columna A y pon los nombres de los DVD en la columna B (puedes usar la fórmula A2 = A1 + 1para numerar si quieres hacerlo aún más fácil).

Supongamos que n = el número de filas encima de donde comienzan los DVD, por ejemplo, si tiene etiquetas de columna.

=INDEX(B:B, RANDBETWEEN(1, MAX(A:A)) + n, 1) 

información relacionada