Ich habe eine Numbers-Tabelle mit Daten, die ich ausdrucken möchte.
Ich möchte jedoch, dass jede Zeile der Tabelle auf einer eigenen Seite ausgedruckt wird. Darüber hinaus enthält jede Zeile viele Datenelemente, darunter eines, das aus einigen Textabsätzen besteht - es macht keinen Sinn, es in einer einzelnen Zeile zu drucken. Stattdessen möchte ich jede Zeile als separat formatierte Tabelle ausdrucken.
Also zum Beispiel, wenn die erste Zeile meiner Tabelle so aussähe
dann möchte ich es eher so drucken:
einschließlich der Verwendung von bedingter Formatierung zum Einfärben der Zellen, sofern dies möglich ist.
Gibt es eine Möglichkeit, dies zu tun? Das heißt, aus jeder Zeile einer Tabelle eine neue Tabelle zu erstellen und sie dann alle auszudrucken, eine pro Seite. Meine Tabelle hat ungefähr 100 Zeilen, daher ist es nicht wirklich machbar, jede einzelne von Hand zu erstellen.
Wenn dies in Numbers nicht möglich ist, gibt es eine andere einfache Möglichkeit, dies auf einem Mac zu tun?
Der Schlüssel zu dieser Lösung ist die Kombination der INDEX(MATCH())
Formeln. Hier ist ein ausgezeichneter Artikel über die Verwendung dieser Kombination von Funktionen.
Erstellen Sie 2 Blätter
Fügen Sie im Datenblatt eine einfache Tabelle hinzu, um die Daten zu speichern. Eine Kopfzeile ist nützlich, um die Formeln zu lesen, während sie hinzugefügt werden:
Erstellen Sie im Druckblatt eine Tabelle oder Tabellen (man kann hier kreativ werden, beliebig viele Tabellen oder Zellen, um den Druck beliebig zu formatieren) für ein Druckformat. Die Zellen müssen sich nicht zusammen in derselben Tabelle befinden, da jede einen individuellen Verweis auf die data
Tabelle enthält. Das Beispiel im Screenshot unten verwendet zwei Tabellen.
Erstellen Sie auf dem Datenblatt eine Tabelle mit einer oder zwei Zellen, um den zu druckenden Datensatz auszuwählen:
Verwenden Sie nun, zurück im Druckblatt , die folgenden Formeln, um die gewünschten Daten anzuzeigen:
INDEX(Animal,MATCH(Print Index::B1,Index))
WoAnimal
ist die Spalte mit dem Tiernamen,MATCH
sucht nach der einzelnen Datenselektorzelle, die mit der entsprechenden Zahl in derIndex
Spalte übereinstimmt, und gibt dann dieAnimal
.
INDEX(Legs,MATCH(Print Index::$B$1,$Index))
Gibt dieLegs
Daten zurück.
INDEX(Head,MATCH(Print Index::$B$1,$Index))
Gibt dieHead
Daten zurück.
INDEX(Feathers,MATCH(Print Index::$B$1,$Index))
Gibt dieFeathers
Daten zurück.
INDEX(Size,MATCH(Print Index::$B$1,$Index))
Gibt dieSize
Daten zurück.
Auch wenn andere Daten in die Tabelle eingefügt werden, wird der richtige Wert angezeigt. Dies ist anders als VLOOKUP()
bei denen die Spaltennummer zurückgegeben werden muss. Wenn eine neue Spalte eingefügt wird, VLOOKUP
wird umgebrochen, wo INDEX(MATCH())
dies nicht der Fall ist.
Fügen Sie die bedingte Formatierung wie gewünscht zu den Zellen in der/den Tabelle(n) des Druckblatts hinzu .
Wählen Sie im Datenblatt die Nummer aus, die dem zu druckenden Tier entspricht.
Wählen Sie das Blatt Drucken und drucken Sie dann wie gewohnt. command+P
AppleScript könnte verwendet werden, um den Vorgang der Auswahl der Indexnummer und des anschließenden Druckens des Druckblatts zu automatisieren .
Dies ist eine saubere und einfache Möglichkeit, die Druckansicht zu warten/aktualisieren/ändern, ohne das gesamte Datenschema neu erfinden zu müssen.
cat
' sage (nicht genau so, wie ich es haben wollte, aber nah genug dran). Aber ja, wenn es um die Programmierung und auch um das Scripting geht, gibt es sehr oft so viele Wege. Und wenn Sie jemanden mit Erfahrung und einem anderen Verstand / Auge sehen, können Sie etwas Originelles finden, und es ist eine großartige Lernerfahrung. Übrigens ist die Menge an Gedanken und Mühe einschließlich Screenshots für diese Antwort wunderbar. So sollten Antworten sein, wenn jemand wirklich lernen will.
bjbk
N. Jungfrau
bjbk