Tabellenkalkulations-Formelfragen zum Auswählen einer zufälligen DVD

Tabellenkalkulations-Formelfragen zum Auswählen einer zufälligen DVD

Ich habe eine Liste meiner (279) DVDs in einer OpenOffice-Tabelle (Version 3.3.0) auf meinem Windows 7-Laptop und möchte eine Formel erstellen, um nach dem Zufallsprinzip einen Film zum Ansehen auszuwählen (für Gelegenheiten, bei denen ich mich nicht entscheiden kann). So funktioniert es:

=RANDBETWEEN(1;279)

Aber es wird nur eine Nummer angezeigt, die ich dann nach oben und unten scrollen muss, um sie zu überprüfen, und es ist auch die Gesamtzahl der DVDs „fest codiert“. Ich möchte den Namen des Films anzeigen (in Spalte A), sodass, wenn die Nummer beispielsweise 277 wäre, der Name des Films angezeigt würde, in diesem Fall „X-Men 2“. Ich ging davon aus, dass das Hinzufügen des Spaltenbuchstabens vorne wie folgt ausreicht:

=A(RANDBETWEEN(1;279))

würde funktionieren, aber es wird ein Fehler angezeigt: #NAME?

Also, wie kann ich...

  1. Den Namen des Films anzeigen lassen
  2. Die oberste Zahl automatisch erkennen, wenn ich neue DVDs hinzufüge, sodass ich sie nicht fest in die Formel codieren muss?
  3. Wie kann ich es so einrichten, dass ich einfach auf die Zelle klicke, um eine neue Zufallszahl zu generieren? (Ich muss also nicht manuell durch Drücken von Umschalt+Strg+F9 neu berechnen.)

Danke.

Antwort1

  1. Um den Wert aus Spalte A, ZeileRkönnen Sie=INDIRECT("A"&R)

  2. Um die Anzahl der Werte in Spalte A zu zählen, können Sie verwenden=COUNTA(A1:A65536)

    In Ihrem Fall könnten Sie also verwenden=INDIRECT("A"&RANDBETWEEN(1;COUNTA(A1:A65536)))

  3. Möglicherweise können Sie eine Makroschaltfläche erstellen, die die Neuberechnung für Sie durchführt. Ich weiß nicht genug über die Makrosprache von OpenOffice.org Calc, um Ihnen hier weiterhelfen zu können.

Antwort2

Ich bin mit den internen Vorgängen von OpenOffice nicht vertraut genug, um Ihnen bei Ihrer dritten Anfrage weiterhelfen zu können. Ich kann Ihnen nur sagen, dass bei mir einfach F9 funktioniert, ohne Umschalt- oder Strg-Taste. Was die anderen beiden betrifft:

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

Ersetzen Sie das 50000durch einen größeren Wert, wenn Sie mehr als 50.000 DVDs haben oder voraussichtlich haben werden, und ersetzen Sie das 1in der ADDRESS()Funktion, wenn es in einer anderen Spalte als steht A.

Antwort3

  • Setzen Sie die Formel aus Bavi_Hs Antwort in Zelle B1( =INDIRECT("A"&RANDBETWEEN(1;COUNTA(A1:A65536)))) ein
  • Machen Sie die Breite und Höhe B1schön groß
  • Format B1mit ansprechender Schriftart in großer Größe, so gewählt, dass auch lange Filmtitel noch Platz haben
  • Wählen Sie eine beliebige Zelle in der Spalte aus Aund wählen Sie den MenüpunktFormat > Column > Hide
  • Wählen Sie den Tools > Macros > Record MacrosMenüpunkt
  • Drücken Sie F9 (oder Strg-Umschalt-F9).
  • Klicken Sie auf die Stop RecordingSchaltfläche
  • Geben Sie im Basic Macros Dialogangezeigten Feld einen Namen wie "Aktualisieren" ein, Macro namewählen Sie die Tabelle im Save macro inFeld aus, klicken Sie auf Saveund geben Sie einen Modulnamen wie "Filme" ein. Klicken Sie aufOK
  • Wählen Sie den MenüpunktView > Toolbars > Form Controls
  • Stellen Sie sicher, dass in dieser Symbolleiste die Design ModeSchaltfläche aktiviert ist
  • Klicken Sie auf die Form DesignSchaltfläche, um die Symbolleiste „Formularentwurf“ sichtbar zu machen
  • Form DesignDeaktivieren Sie in der Symbolleiste die Open in Design ModeSchaltfläche
  • Klicken Sie in der Form ControlsSymbolleiste auf die Label FieldSchaltfläche
  • Ziehen Sie den Cursor von der oberen linken Ecke der Zelle B1 in die untere rechte Ecke, um ein Beschriftungsfeld zu erstellen, das die gleiche Größe wie die Zelle hat.
  • Klicken Sie mit der rechten Maustaste auf die Zelle/Beschriftung und wählen Sie das Control...Element aus dem Kontextmenü
  • Wählen Sie die GeneralRegisterkarte aus und löschen Sie anschließend den Text aus dem LabelFeld
  • Wählen Sie die EventsRegisterkarte aus, klicken Sie auf die ...Schaltfläche
  • Klicken Sie im Assign ActionDialogfeld auf die Macro...Schaltfläche
  • Erweitern Sie im Macro SelectorDialogfeld die Einträge unter Ihrer Tabelle im LibraryFeld, bis Sie den Modulnamen sehen, den Sie zuvor verwendet haben (z. B. „Filme“), und klicken Sie darauf
  • Wählen Sie im Macro nameFeld das zuvor erstellte Makro aus (z. B. „Aktualisieren“).
  • Klicken Sie auf OK, OKdann auf und schließen Sie das PropertiesFenster mit einem Klick auf die XSchaltfläche in der oberen rechten Ecke.
  • Form ControlsDeaktivieren Sie in der SymbolleisteDesign Mode
  • Wenn Sie jetzt auf die Zelle klicken, B1sollte sich der dort angezeigte Filmname ändern
  • Schließen Sie die Symbolleisten, wenn Sie möchten
  • Bevor Sie die Tabelle speichern, können Sie zu gehen und , , und Tools > Options > OpenOffice.org Calc > Viewdeaktivieren , um ein sauberes Erscheinungsbild zu erhalten (möglicherweise müssen Sie diese wieder aktivieren, wenn Sie das nächste Mal eine neue leere Tabelle erstellen).Window: Column Headers and RowsHorizontal Scroll BarsVertical Scroll BarsSheet tabs
  • Speichern Sie Ihre Tabelle
  • ???
  • Profitieren

Filmauswahl

Antwort4

Der Einfachheit halber nummerieren Sie die DVDs in Spalte A und tragen Sie die Namen der DVDs in Spalte B ein (Sie können die Formel A2 = A1 + 1zur Nummerierung verwenden, wenn Sie es noch einfacher machen möchten).

Angenommen, n = die Anzahl der Zeilen über dem Anfang der DVDs, beispielsweise wenn Sie Spaltenbeschriftungen haben.

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

verwandte Informationen