Ich bin ein Anfänger in Tabellenkalkulationen, also hoffe ich, dass Sie mir vergeben, wenn ich eine sehr offensichtliche Frage stelle.
Ist es möglich, Tags in Excel / Google Spreadsheet zu verwenden? Ich erstelle eine Tabelle, um alle Artikel und Bücher zu protokollieren, die ich lese. Sagen wir, ich lese "Ich, Claudius". Ich möchte es diesen Tags geben: Geschichte, Fiktion, Biographie, Behinderung, Politik, Drama. Wenn ich dann alle Artikel / Bücher anzeigen möchte, die mit "Politik" markiert sind, kann ich möglicherweise mit diesem Tag suchen / anzeigen / schwenken.
Vielleicht sollten die Tags vorzugsweise alle in einer Zelle sein, wobei jedes Wort durch ein Komma getrennt ist. Wenn jedes Wort in einer eigenen Zelle wäre, würde es den Tisch wirklich unordentlich machen, denke ich.
Ich bin auch offen für andere Etikettierlösungen.
Vielen Dank!
quelle
Antworten:
Soweit mir bekannt ist, gibt es keine integrierten Funktionen, mit denen durch Kommas getrennte Tags in Excel analysiert und zusammengefasst werden können. Sie können natürlich Ihre eigene Lösung mit Arbeitsblattfunktionen und ein wenig VBA erstellen. Hier ist eine schnelle Lösung dafür.
Schritt 1 : Drücken Sie Alt+ F11, um das VBA-Editorfenster in Excel zu öffnen. Fügen Sie ein neues Modul ein und fügen Sie diesen Code für eine benutzerdefinierte Funktion ein.
Mit dieser Funktion können Sie durch Kommas getrennte Listen erstellen, um die vorhandenen Tag-Daten zusammenzufassen.
Schritt 2 : Geben Sie in einem Arbeitsblatt in eine Zelle (H2 im folgenden Beispiel) das Tag ein, nach dem Sie suchen möchten. Geben Sie in die Zelle rechts die folgende Formel ein, indem Sie Ctrl+ Shift+ drücken Enter.
Durch Drücken von Ctrl+ Shift+ geben EnterSie die Formel als Matrixformel ein. Es wird
{...}
in der Bearbeitungsleiste von umrahmt angezeigt. Beachten Sie, dass in der Formel$B$2:$B$6
der Bereich angegeben ist, der alle Tags für die in aufgeführten Elemente enthält$A$2:$A$6
.BEARBEITEN:
Wenn Sie nichts dagegen haben, dass Ihre Übereinstimmungen in einer Spalte anstatt in einer Liste in einer Zelle aufgeführt werden, können Sie Übereinstimmungen für Tags nur mit Arbeitsblattfunktionen zurückgeben.
Wo Ihre Titel in sind
Column A
, sind die Tags inColumn B
und das Tag für Sie in suchen istH2
, können Sie die folgenden Befehle verwenden Matrixformel inI2
und füllen so weit wie Sie brauchen:Die Formel erstellt zunächst ein Array von Zahlen, basierend darauf, ob die Tags in jeder Zeile den Suchbegriff enthalten. Wird eine Übereinstimmung gefunden, wird die Zeilennummer im Array gespeichert. Wenn es nicht gefunden wird, wird 2000000 im Array gespeichert. Als nächstes gibt der
SMALL(<array>,ROW()-1)
Teil der Formel denROW()-1
kleinsten Wert aus dem Array zurück. Als Nächstes wird dieser Wert als Indexargument an dieINDEX()
Funktion übergeben, wo der Wert an diesem Index im Array der Titel zurückgegeben wird. Wenn eine Zahl größer als die Anzahl der Zeilen im Titel-ArrayINDEX()
als Argument übergeben wird, wird ein Fehler zurückgegeben. Da 2000000 als Argument übergeben wird, wenn keine Übereinstimmungen gefunden werden, wird ein Fehler zurückgegeben. DieIFERROR()
Funktion kehrt dann""
in diesem Fall zurück.Es ist wichtig zu verstehen, wie
ROW()
diese Formel verwendet wird. Wenn Sie Ihre Ergebnisliste ab einer anderen Zeile anzeigen möchten, müssen Sie das zweite Argument derSMALL()
Funktion so anpassen , dass es den ersten kleinsten Wert aus dem Array zurückgibt. Beginnt Ihre Ergebnisliste beispielsweise in Zeile 1 statt in Zeile 2, verwenden SieSMALL(...,ROW())
stattSMALL(...,ROW()-1)
.Wenn Ihre Liste der Titel und Tags nicht in Zeile 1 beginnt, müssen Sie auch die Formel anpassen. Das zweite Argument der
IF()
Funktion muss so eingestellt werden , dass eine Übereinstimmung in der ersten Zeile Ihrer Daten zurückgibt 1. Beispiel : Wenn die Liste der Titel beginnt in Zeile 2 statt Zeile 1, müssen Sie die Formel umfassenIF(...,ROW($A$2:$A$7)-1,...)
stattIF(...,ROW($A$1:$A$6),...)
.quelle
CONCATENATE
Funktion in Excel ein Array nicht als Argument verwenden kann (es liest nur das erste Element aus dem Array, wenn Sie es versuchen). Die VBA-Funktion erstellt durch Kommas getrennte Listen aus einem Array von Werten.In einigen Fällen funktionierte dies programmgesteuert gut, und ich fand, dass ein manueller Ansatz für mich funktioniert. Mithilfe von Spalten für Tags können Sie ein Zeilenelement ganz einfach mit Tags versehen, indem Sie in die Spalte eine 0 eingeben. Sie haben dann eine Zeile und geben in jede der Tag-Spalten für diese Zeile 1 ein (Sie können diese Zeile einfärben). Wenn Sie dann nach einem der Tags sortieren, fungiert die 1s-Zeile (blau) als Trennzeichen. Zwischen Ihren gefilterten Ergebnissen (0s) und allem anderen (_).
Dies hat einige Vorteile. 1. Sie müssen Ihr Tag nicht jedes Mal eingeben. 2. Sie können leicht einen Querverweis erstellen, um zu überprüfen, ob Sie doppelte oder ähnliche Elemente haben, die auf eins reduziert werden können.
quelle
Eine andere Idee:
Verwenden Sie die eingebaute Filterfunktion. Filtern Sie nach der Spalte Tags, und suchen Sie nach Zeilen, die ein bestimmtes Tag enthalten.
Eine Zeile mit der Tag-Liste: Komödie, Horror, Romantik
wird angezeigt, wenn nach einem dieser drei Tags gesucht wird.
quelle
Mein Nicht-VBA-Ansatz besteht darin, Tags in einer Spalte (z. B. Spalte H) aufzulisten und die Elemente durch Kommas zu trennen. Von dort verwende ich eine Kombination aus "Text in Spalten" und "Duplikate entfernen", um meine Liste der Tags zu erhalten. Ich kopiere dies in die Kopfzeile meines Hauptblatts (in diesem Fall beginnend in Spalte L. Geben Sie dann in jede Zelle unter den einzelnen Tag-Kopfzeilen Folgendes ein:
Dies gibt das Beste aus beiden Welten - die Tag-Spalte (H) ist für die Menschen leicht zu lesen; Die einzelnen Tag-Spalten (mit ihren Nullen und Einsen) sind für den Computer leicht lesbar. Es ist dynamisch, wenn Sie innerhalb des angegebenen Satzes von Tags bleiben. Wenn nicht, müssen Sie Ihr neues Tag in die Kopfzeile einfügen und dann Ihre Formeln kopieren.
Von dort aus sind Pivot-Tables dein Freund.
quelle
Mir ist nicht genau klar, wie Sie die Tags verwenden möchten. In Google Sheets können Sie jedoch die Funktion SPLIT () verwenden, um eine Folge von Tags (durch Leerzeichen, Kommas oder was auch immer Sie wollen) in mehrere andere Zellen aufzuteilen, und ich bin sicher, dass auch Excel eine Funktion hat, mit der Sie nach Tags suchen können Zelle für ein Tag.
quelle