
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...
- Den Namen des Films anzeigen lassen
- Die oberste Zahl automatisch erkennen, wenn ich neue DVDs hinzufüge, sodass ich sie nicht fest in die Formel codieren muss?
- 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
Um den Wert aus Spalte A, ZeileRkönnen Sie
=INDIRECT("A"&
R)
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)))
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 50000
durch einen größeren Wert, wenn Sie mehr als 50.000 DVDs haben oder voraussichtlich haben werden, und ersetzen Sie das 1
in 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
B1
schön groß - Format
B1
mit 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
A
und wählen Sie den MenüpunktFormat > Column > Hide
- Wählen Sie den
Tools > Macros > Record Macros
Menüpunkt - Drücken Sie F9 (oder Strg-Umschalt-F9).
- Klicken Sie auf die
Stop Recording
Schaltfläche - Geben Sie im
Basic Macros Dialog
angezeigten Feld einen Namen wie "Aktualisieren" ein,Macro name
wählen Sie die Tabelle imSave macro in
Feld aus, klicken Sie aufSave
und geben Sie einen Modulnamen wie "Filme" ein. Klicken Sie aufOK
- Wählen Sie den Menüpunkt
View > Toolbars > Form Controls
- Stellen Sie sicher, dass in dieser Symbolleiste die
Design Mode
Schaltfläche aktiviert ist - Klicken Sie auf die
Form Design
Schaltfläche, um die Symbolleiste „Formularentwurf“ sichtbar zu machen Form Design
Deaktivieren Sie in der Symbolleiste dieOpen in Design Mode
Schaltfläche- Klicken Sie in der
Form Controls
Symbolleiste auf dieLabel Field
Schaltflä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
General
Registerkarte aus und löschen Sie anschließend den Text aus demLabel
Feld - Wählen Sie die
Events
Registerkarte aus, klicken Sie auf die...
Schaltfläche - Klicken Sie im
Assign Action
Dialogfeld auf dieMacro...
Schaltfläche - Erweitern Sie im
Macro Selector
Dialogfeld die Einträge unter Ihrer Tabelle imLibrary
Feld, bis Sie den Modulnamen sehen, den Sie zuvor verwendet haben (z. B. „Filme“), und klicken Sie darauf - Wählen Sie im
Macro name
Feld das zuvor erstellte Makro aus (z. B. „Aktualisieren“). - Klicken Sie auf
OK
,OK
dann auf und schließen Sie dasProperties
Fenster mit einem Klick auf dieX
Schaltfläche in der oberen rechten Ecke. Form Controls
Deaktivieren Sie in der SymbolleisteDesign Mode
- Wenn Sie jetzt auf die Zelle klicken,
B1
sollte 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 > View
deaktivieren , 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 Rows
Horizontal Scroll Bars
Vertical Scroll Bars
Sheet tabs
- Speichern Sie Ihre Tabelle
- ???
- Profitieren
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 + 1
zur 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)