Questões de fórmula de planilha para escolher um DVD aleatório

4

Eu tenho uma lista dos meus (279) DVDs em uma planilha do OpenOffice (versão 3.3.0) no meu laptop Windows 7 e quero criar uma fórmula para escolher aleatoriamente um filme para assistir (para ocasiões em que não posso mente). Isso funciona:

=RANDBETWEEN(1;279)

Mas tudo o que ele dá é um número que eu tenho que rolar para cima e para baixo para verificar e também tem o número total de "codificados" do DVD. Quero exibir o nome do filme (mantido na coluna A) para que, se, por exemplo, o número fosse 277, o nome do filme apareceria, neste caso, "X-Men 2". Eu assumi que apenas adicionando a letra da coluna na frente assim:

=A(RANDBETWEEN(1;279))

funcionaria, mas gera um erro: #NAME?

Então, como eu posso ...

  1. Faça com que seja exibido o nome do filme
  2. Detectar automaticamente o número superior como eu adiciono novos DVDs, então eu não tenho codificá-lo na fórmula?
  3. Como posso fazer para que eu apenas clique na célula para regenerar um novo número aleatório? (isto é, não tem que recalcular manualmente pressionando Shift + Ctrl + F9)

Obrigado.

andygrunt
fonte

Respostas:

6
  1. Para retornar o valor da coluna A, linha R , você pode usar =INDIRECT("A"& R )

  2. Para contar o número de valores na coluna A, você pode usar =COUNTA(A1:A65536)

    Então, para o seu caso, você poderia usar =INDIRECT("A"&RANDBETWEEN(1;COUNTA(A1:A65536)))

  3. Você pode fazer um botão de macro que irá recalcular para você. Eu não sei o suficiente sobre a linguagem de macro do OpenOffice.org Calc para fornecer mais ajuda.

Bavi_H
fonte
0

Eu não estou familiarizado o suficiente com os internos do OpenOffice para ajudar com o seu terceiro pedido, além de dizer que simplesmente F9 funciona para mim, sem mudança ou controle necessário. Quanto aos outros dois, porém:

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

Substitua o 50000 com algo maior se você tem ou acha que terá mais de 50000 DVDs, e substitua o 1 no ADDRESS() função se estiver em uma coluna diferente de A.

farfromhome
fonte
O OpenOffice.org Calc requer ponto e vírgula entre argumentos, vírgulas não funcionam.
Bavi_H
Talvez seja porque eu estava usando o LibreOffice; Funciona muito bem aqui e é uma cópia direta do LibO.
farfromhome
0
  • Coloque a fórmula da resposta de Bavi_H na célula B1 ( =INDIRECT("A"&RANDBETWEEN(1;COUNTA(A1:A65536))) )
  • Faça a largura e altura de B1 bom e grande
  • Formato B1 com uma fonte atraente em tamanho grande, escolhida para que os títulos de filmes longos ainda se ajustem
  • Selecione qualquer célula na coluna A e selecione o item de menu Format > Column > Hide
  • Selecione os Tools > Macros > Record Macros item do menu
  • Pressione F9 (ou Ctrl-Shift-F9)
  • Clique no Stop Recording botão
  • No Basic Macros Dialog que aparece, digite um nome como "atualizar" no Macro name campo, selecione a planilha no Save macro in caixa, clique Save e insira um nome de módulo, como "filmes", clique em OK
  • Selecione o item de menu View > Toolbars > Form Controls
  • Na barra de ferramentas, verifique se Design Mode o botão está ativado
  • aperte o Form Design botão para tornar visível a barra de ferramentas Form Design
  • Dentro do Form Design barra de ferramentas, desligue o Open in Design Mode botão
  • No Form Controls barra de ferramentas, clique no Label Field botão
  • Arraste o cursor do canto superior esquerdo da célula B1 para o canto inferior direito para criar um campo de rótulo com o mesmo tamanho da célula
  • Clique com o botão direito do mouse na célula / rótulo e selecione o Control... item do menu de contexto
  • Selecione os General separador e, em seguida, elimine o texto da Label campo
  • Selecione os Events guia, clique no ... botão
  • No Assign Action caixa de diálogo, clique no Macro... botão
  • No Macro Selector caixa de diálogo, expanda as entradas em sua planilha no Library caixa até ver o nome do módulo usado anteriormente (por exemplo, "filmes") e clicar nele
  • No Macro name caixa, selecione a macro que você criou anteriormente (por exemplo, "atualizar")
  • Clique OKclique OK em seguida, feche o Properties caixa clicando no X botão no canto superior direito
  • No Form Controls barra de ferramentas, desligue Design Mode
  • Agora quando você clica no celular B1 o nome do filme exibido lá deve mudar
  • Feche as barras de ferramentas se quiser
  • Antes de salvar a planilha, você pode entrar em Tools > Options > OpenOffice.org Calc > View e desligue Window: Column Headers and Rows, Horizontal Scroll Bars, Vertical Scroll Bars e Sheet tabs para uma aparência muito limpa (talvez seja necessário ativá-las novamente na próxima vez em que você criar uma nova planilha em branco)
  • Salve sua planilha
  • ???
  • Lucro

Movie Chooser

Dennis Williamson
fonte
0

Para facilitar, numere os DVDs na coluna A e coloque os nomes dos DVDs na coluna B (você pode usar a fórmula A2 = A1 + 1 para numerar, se você quiser facilitar ainda mais).

Suponha n = o número de linhas acima de onde os DVDs começam, como se você tivesse rótulos de coluna.

=INDEX(B:B, RANDBETWEEN(1, MAX(A:A)) + n, 1) 
F--
fonte
O OpenOffice.org Calc não parece permitir que o A:A método de se referir a uma coluna, você tem que usar A1:A65536. Além disso, o Calc requer ponto e vírgula entre argumentos, vírgulas não funcionam.
Bavi_H