Wie extrahiere ich Daten aus einem wöchentlichen Tracker?

446
BCLC

Sagen wir in jeder Stunde des Tages in einer Woche, dass ich zum Beispiel das Essen, das ich esse, oder die körperliche Aktivität, die ich mache, aufzeichne.

Am Ende der Woche habe ich eine Tabelle, in der die Stunden (von 12.00-12.59 Uhr bis 23.00 Uhr 23.59 Uhr) stehen und die Spalten Tage (Sonntag bis Samstag) sind und die Werte die Lebensmittel sind, die ich gegessen habe.

Wie bekomme ich eine Liste der Termine, an denen ich bestimmte Lebensmittel gegessen habe? Zum Beispiel habe ich Bananen von 10 bis 11 Uhr montags und donnerstags außer dem Montag der dritten Woche des Monats gegessen. Stattdessen habe ich am Dienstag dieser Woche Banane gegessen.

Wie bekomme ich die Termine?

Ich habe versucht, countif, index, match zu verwenden, aber ich glaube, ich vermisse eine sehr einfache Lösung mit Pivot-Tabellen oder der Suche nach der richtigen Vorlage. Im schlimmsten Fall bin ich bereit, VBAs / Makros (wieder) zu lernen, bezweifle aber stark, dass es hierfür keine Vorlage oder Pivot-Table-Lösung gibt.


Teile meines Nahrungsverbrauchs-Trackers

Wie extrahiere ich Daten aus einem wöchentlichen Tracker?


Ich möchte mit etwas wie (Tabelle 3) enden:


Wie extrahiere ich Daten aus einem wöchentlichen Tracker?

1
Einige Diagramme oder Screenshots Ihrer Daten würden uns helfen, Ihre Frage zu verstehen. Bitte [bearbeiten] Sie Ihre Frage, um einige Beispieldaten (vor und nach) hinzuzufügen. Unter [Text als Tabelle formatieren] (http://www.sensefulsolutions.com/2010/10/format-text-as-table.html) finden Sie ein Webdienstprogramm, das Ihnen beim Erstellen einer schönen Datentabelle hilft, die Sie einfügen können in deine Frage Laden Sie Bilder auf [Imgur] (http://www.imgur.com) hoch, und Sie erhalten Links, die Sie freigeben können. [Bearbeiten] Ihre Frage, um die Links einzuschließen, und jemand mit ausreichendem Ruf wird die Bilder für Sie inline darstellen. DavidPostill vor 7 Jahren 0
@DavidPostill hinzugefügt. Danke BCLC vor 7 Jahren 0

1 Antwort auf die Frage

1
Kev

Bei der Art und Weise, wie Ihre Daten formatiert werden, müssen Sie das Blatt für jede Instanz von Banana durchsuchen und dann anhand der Zeilen- und Spaltennummern auf das Datum und die Uhrzeit zurückgreifen, zu denen dies verzehrt wurde. Dies könnte in VBA geschehen . Eines der Probleme bei Ihrem aktuellen Format ist, dass Sie nach Bananen suchen möchten, aber manchmal wird es in Zellen mit Eiern gemischt, manchmal Karotten und manchmal selbst.

Es scheint jedoch, als könnten Ihre Daten computerfreundlicher, aber weniger benutzerfreundlich angeordnet werden. Sie haben wirklich eine Reihe von Zeitstempeln, mit einem einzelnen Nahrungsmittel nach jedem, dies könnte sich in einer Spaltenserie wie unten und mit zusätzlichen Spalten für Berechnungen befinden

Date Food Hour Day Week 30/01/2017 10:00 sandwich 10 2 5 30/01/2017 10:00 apple 10 2 5 30/01/2017 10:00 pancake 10 2 5 30/01/2017 16:00 eggs 16 2 5 30/01/2017 16:00 hotdog 16 2 5 31/01/2017 16:00 carrot 16 3 5 31/01/2017 16:00 eggs 16 3 5 31/01/2017 16:00 chips 16 3 5 02/02/2017 16:00 eggs 16 5 5 02/02/2017 17:00 banana 17 5 5 03/02/2017 18:00 orange 18 6 5 04/02/2017 12:00 ham 12 7 5 

Sobald Sie über solche Daten verfügen, können Sie Ihre Nahrungsmittelsorten auf der Seite auflisten

sandwich apple pancake eggs hotdog carrot banana ham 1 2 3 4 5 6 10 12 #N/A #N/A #N/A 7 #N/A #N/A #N/A #N/A #N/A #N/A #N/A 9 #N/A #N/A #N/A #N/A #N/A #N/A #N/A #N/A #N/A #N/A #N/A #N/A 

Das erste Vorkommen zu finden ist einfach - verwenden Sie einfach match (), aber wenn Sie das nächste Mal nachsehen, müssen Sie weiter unten in der Liste beginnen. Verwenden Sie also offset (), um den Anfang der Suche zu ändern.

=MATCH(L$21,$B$23:$B$1000,0) =MATCH(L$21,OFFSET($B$23:$B$100,L22,0),0)+L22 =MATCH(L$21,OFFSET($B$23:$B$100,L23,0),0)+L23 etc 

Dann verwenden Sie index (), um eine Liste der Daten für jedes Lebensmittel zu erhalten.

=INDEX($A$23:$A$34,L22)  sandwich apple pancake eggs 30/01/2017 10:00 30/01/2017 10:00 30/01/2017 10:00 30/01/2017 16:00 #N/A #N/A #N/A 31/01/2017 16:00 #N/A #N/A #N/A 02/02/2017 16:00