2017-01-07 25 views
-1

Ich habe eine Liste von Aktivitäten Kategorie, dass jede Aktivität in dieser Liste wäre selbst kategorisiert werden und wieder jede dieser letzten Aktivitäten verknüpfen mich zu einer bestimmten Nummer, die ich diese Nummer in einer Funktion verwenden Excel, um meine endgültige Antwort herauszufinden.Erstellen von Liste und Unterlisten in Excel

Ich suche nach einer Lösung, um dies zu automatisieren, also wenn jemand ihre bestimmte Aktivität auswählt, dann müssen sie ihre Unteraktivitäten wählen, die mit ihrer Wahl in Verbindung stehen (ohne andere Aktivitäten anzuzeigen) und wenn sie die ausgewählt haben Ich werde den spezifischen Code oder die Nummer für diese Aktivität erhalten. Auch ich weiß nicht, wie ich die Nummer für eine Textzelle definieren kann, die, wenn ich es auswähle, mir die Nummer oder den Code gibt, der dafür definiert worden ist.

Beispiel: Ich möchte Sie fragen, was Sie während einer Woche in Bezug auf Training und körperliche Aktivität tun. Sie wählen die Zelle und wählen zum Beispiel Radfahren und dann werden Sie gebeten, genauer zu sein, und Sie wählen eine andere Zelle, um zu wählen "Radfahren 4mph bis 7 mph".

Die Antworten wären eine Zahl und diese Nummer wird in einer anderen Zelle in Funktion gesetzt und gibt mir die Kalorien, die Sie während dieser spezifischen Aktivität verbrennen.

Wie kann ich diese Formel erstellen? Ihre Hilfe würde sehr geschätzt werden.

+0

Ihre Frage ist nicht klar. Ich schlage vor, Sie lesen die HELP-Seiten für Informationen zu [Welche Themen kann ich hier fragen?] (Http://stackoverflow.com/help/on-topic), [Wie man eine gute Frage stellt] (http: // stackoverflow.com/help/how-to-ask) und [So erstellen Sie ein minimales, vollständiges und überprüfbares Beispiel] (http://stackoverflow.com/help/mcve). Dann formulieren Sie Ihre Frage neu, um sich an diese Richtlinien anzupassen, indem Sie Ihre ursprüngliche Frage bearbeiten. –

+0

Sie sollten in der Lage sein, über Drop-Down-Liste und If-Formel zu archivieren, aber es ist schwer, Ihnen eine Antwort ohne Beispieldaten und ein Beispiel zu geben. –

+0

Ich habe eine Liste von Aktivitäten Kategorie nennen wir es "A", die zum Beispiel "A1 TO A10" enthalten. Jede Aktivität in dieser Liste würde selbst kategorisiert werden. Sagen wir, die Aktivität '' A1 '' wird in 'A11 bis A19' untergeordnet und wiederum wurde jede dieser Aktivitäten durch eine bestimmte Nummer definiert. (LISTE '' A '' und seine Unterliste sind Textformat.Schließlich erhalte ich eine Nummer von Ihrer Antwort und diese Nummer wird in einer Funktion platziert. Es gibt über 800 Aktivitäten insgesamt, aber es gibt eine Liste von 10 bis 15, die jeweils zu 20 bis 30 Aktivitäten kategorisiert werden und jede Aktivität hat ihre eigene spezifische Nummer. –

Antwort

0

Ich denke, Sie versuchen, eine kaskadierende Dropdown-Liste zu erstellen. Ich habe einen Link zu einer Website eingefügt, der erklärt, wie man eine kaskadierende Dropdown-Liste erstellt, was ich denke, dass Sie suchen. lassen Sie mich wissen, wenn dies Ihre Frage nicht beantwortet.

Cascading Dropdown Link

Edit:

Ich füge ein Bild auf ein Beispiel, das ich in Excel erstellt. Die Formel I in der Datenvalidierung Feld verwendet wurde:

=IF($A$1=$F$2,$G$2:$G$5,IF($A$1=$F$3,$H$2:$H$5,IF($A$1=$F$4,$I$2:$I$5,$J$2))) 

Edit 2:

Auf der Grundlage der zusätzlichen Informationen in den Kommentaren Ihnen zur Verfügung gestellten, habe ich das abgebildete Excel-Arbeitsmappe.

VLookup Example Link

Der obere Teil des Bildes zeigt die Excel-Werte. Der untere Teil des Bildes wird erweitert, um die Formeln in jeder Zelle anzuzeigen.

Diese Formeln sollten Ihnen ermöglichen, den gewünschten Wert zu erhalten, indem Sie anhand der Eingabe in den vorherigen Zellen im Formular nachschlagen. In meinem Fall, wenn Sie die Werte in Zelle A11 und A12 ändern, sehen Sie Zellen C11 und C12 zu den richtigen Werten wechseln. Wenn Sie dies mit meiner ersten Antwort kombinieren, können Sie auch das Dropdown-Menü aufrufen.

lassen Sie mich wissen, wenn Sie eine andere Erklärung benötigen.

+0

Vielen Dank @ Robert-Boyett so viel für die Zeit, um mir zu helfen. bin dankbar. Ich habe genau verstanden, was du hier erwähnt hast, aber das war nicht meine Absicht. Lass mich dein Beispiel benutzen, um mich besser auszudrücken. In Spalte A, A1 bis A3 haben wir (zB Laufen, Radfahren und Schwimmen). in Spalte B, C und D haben wir ihre Unterkategorien (zB B1: B3 läuft bergauf, läuft am Strand und läuft mit 4 bis 5 mph. C1: C3 ist eine Zahl zeigt den Impact-Faktor für diese spezifische Aktivität zB 2, 3 , 4. –

+0

. D1: D3 als Rad Typ 1, Typ und Typ 3. E1: E3 wieder die Auswirkungen als eine Nummer F1: F3 Schwimmen Typ 1, Typ 2 und Typ 3. G1: G3 Impact-Faktor für Schwimmen Arten). Was ich versuche, für die Benutzer zu erstellen, ist, sie zu bitten, zuerst ihre Aktivitätskategorie auszuwählen, bei der es sich entweder um Laufen, Schwimmen oder Radfahren handelt. wenn sie eines aus dieser Liste A1: A3 auswählen, wäre die nächste Frage ihre Wahl aus den Unterkategorien. Nehmen wir an, sie wählen A2 (z. B. running) und müssen nur eine von B1: B3 auswählen. –

+0

Sagen wir B2. B2 ist Textinhalt und der Impact-Faktor daneben ist das Zahlenformat. Ich brauche diese Nummer, um die Funktion zu verwenden, die ich bereits herausfinden muss, wie viel Kalorien sie verbrennen werden. –

0

Ich habe etwas sehr ähnliches gebaut, was Sie für meine eigenen Arbeitszwecke beschreiben. Ich glaube, Sie werden dieses Dokument anderen Benutzern (d. H. Mitarbeitern, Kunden usw.) vorstellen, daher werde ich vorschlagen, Ihre kategorisierten Antworten auf ein separates Blatt zu verschieben. Auf diese Weise haben Sie ein sehr sauberes, vorzeigbares Arbeitsblatt als Präsentationsebene.

Lassen Sie mich Ihr Beispiel in den Kommentaren verwenden, aber ich werde ein Mapping hinzufügen. Die erste Kategorie hat Optionen in den Zellen A1: A3 (zB Laufen, Radfahren und Schwimmen). B1: B5 hat Geschwindigkeiten zum Laufen, C1: C5 hat Geschwindigkeiten zum Radfahren und D1: D5 hat Geschwindigkeiten zum Schwimmen (d.h. 1 mph, 2 mph, 3 mph, 4 mph, 5 mph).

Lassen Sie als Nächstes eine Spalte reservieren, um einen Spaltenbuchstaben zurückzugeben (in den Spalten B, C oder D sollte je nach Auswahl des Trainings zurückgekehrt werden). Geben Sie in Spalte E Folgendes ein, und kopieren Sie für alle Zeilen, für die Daten ausgewählt werden sollen: = IFERROR (INDEX ({"B", "C", "D"}, MATCH (A1, $ A $ 1: $ A $ 3) , 0)), "B") < < Das "B" am Ende soll verhindern, dass Fehler auf Zellen zurückkommen, die keine Daten ausgewählt haben.

In Ihrer Zelle, wo die Art der Übung ausgewählt werden soll (ich werde Zelle F1 wählen), fügen Sie eine Datenvalidierung hinzu (2010 & später: in der Registerkarte "Daten" in der Multifunktionsleiste). Wählen Sie "List" in der ersten Dropdown-Liste und die Quelle (in dem oben angegebenen Beispiel) würde Folgendes anzeigen: "$ A $ 1: $ A $ 3".

Dann in Zelle G1 (für meine eg), wiederholen Sie den Datenvalidierungsprozess folgende in die Quelle jedoch eingeben: = INDIRECT (E1 & "1:" & E1 & "5", 1)

INDIRECT erstellt die Datenüberprüfungsliste für Sie, Sie MÜSSEN jedoch den in Spalte E angegebenen Zwischenschritt einfügen, da Sie keine Arrays in eine Datenüberprüfungsliste aufnehmen können. Bitte kopieren Sie auch alle Formeln nach unten, um jede Zeile einzuschließen, die Sie dieser Funktionalität zuweisen möchten (wenn Sie den kleinen Pfeil auf der Zelle nicht sehen, wenn Sie ihn auswählen, existiert die Formel nicht in dieser Zelle, kopieren Sie sie daher)

Wenn Sie eine Liste von Workouts über 3 hinausgehen (ich stelle es vor), erweitern Sie Ihre Datenüberprüfungsliste in Zelle F1, um alle Workouts einzubeziehen (in Ihrem Beispiel setzen Sie "$ A $ 1: $ A $ 10" (keine Anführungszeichen)). Wenn Sie die Anzahl der (im Beispiel bereitgestellten) Geschwindigkeiten auf mehr als 5 Stufen erhöhen, ändern Sie in der INDIREKTEN Formel in Ihrer G1-Datenvalidierungszelle die "5", um alle Zeilen einzuschließen. Wenn Ihr Beispiel, wenn die Geschwindigkeiten, bei denen in Zellen A11: A19, würde geben Sie diese stattdessen: = INDIRECT (E1 & "11:" & E1 & "19", 1)

Sie den Vorgang wiederholen können so viele Wie du magst, aber für jede Ebene, die du einbaust, musst du den Prozess in Spalte E replizieren, da dies die Spalte ist, die den nachfolgenden Ebenen sagt, wo sie suchen sollen.

Lassen Sie mich wissen, wenn Sie weitere Beschreibung benötigen, wie die tieferen Ebenen zu kodieren (dh Radfahren 15 Meilen pro Stunde 20 Minuten, 7 Intensität < < diese drei Ebenen tief ist)

EDIT

Zusätzlicher Schritt unter

Ich entschuldige mich, dass ich so etwas nicht aufgenommen habe. Sie können weiterhin die oben beschriebene Methode verwenden, um dynamische Dropdown-Listen zu erstellen. Sie benötigen jedoch einen zusätzlichen Schritt, um den Wert zurückzugeben, der die zu berechnende Intensität darstellt.

Ich muss +1 für Robert Boyett's Antwort sagen. Es ist der einfachste Weg zu programmieren, was Sie brauchen. Ich werde eine Methode zur Verfügung stellen, mit der Sie dynamisch weitere Trainingsroutinen hinzufügen können, ohne dass Sie zusätzliche IF-Bedingungen und zugehörige SVERWEISE hinzufügen müssen. Ich werde den Link von Robert Boyett als Referenz verwenden.

Geben Sie in Zelle C11 Folgendes ein: = SUMME (INDIREKT (INDEX ({"A", "B", "C", "D", "E", "F", "G"}, MATCH (A11, $ A $ 4: $ G $ 4,0) +1) & "1:" & INDEX ({A, B, C, D, E, F, G "}, MATCH (A11, $ A $ 4: $ G $ 4,0) +1) &" 3 "), INDIREKT (INDEX ({" A "," B "," C "," D "," E "," F "," G "}, MATCH (A11, $ A $ 4: $ G $ 4,0)) &" 1: "& INDEX ({" A "," B "," C "," D ") , "E", "F", "G"}, MATCH (A11, $ A $ 4: $ G $ 4,0)) & "3"), B11)

Dies erfordert Zellen B4, D4 und F4, um den Tailing "Type" zu löschen und stattdessen genau mit dem Wortlaut aus der ersten Drop-Down-Liste (Running, Biking, Swimming) übereinzustimmen. Auf diese Weise wird die MATCH-Formel den erforderlichen Wert zurückgeben.

Sie können auch die Grenze in der MATCH Formel ($ A $ 4: $ G $ 4) erweitern, um einen langen Weg weg ... sagen $ A $ 4: $ BA 4 $ < < dies wird bis zu 26 verschiedenen Trainingseinheiten ermöglichen. Erweitern Sie die Liste um weitere Trainingstypen hinzuzufügen. Erweitern Sie außerdem in der INDIREKTEN Formel die "3" zu einer großen Zahl, um mehr Intensitätspegel einzubeziehen (das Setzen von "9" anstelle von "3" ermöglicht bis zu 9 Intensitätsstufen).

Sie haben vielleicht bemerkt, dass ich ein Array mit dem Alphabet einschließe. Es ist besser, wenn dieses Array tatsächlich eine Reihe von Zellen auswählt, die in jeder nachfolgenden Zelle jeden Buchstaben des Alphabets enthalten. In meinem Beispiel für die Verwendung eines Bereichs von $ A $ 4: $ BA $ 4 würden Sie sagen, Spalte BB, das Alphabet in jeder Zeile, und wenn Sie Z erreichen, starten Sie das Alphabet mit einem führenden A (dh AA, AB , AC, etc.) und fahren Sie so weit wie Sie möchten. Ersetzen Sie das Array (in der INDEX-Formel mit den geschweiften Klammern {} gekennzeichnet) durch diesen Bereich, in diesem Beispiel $ BB $ 1: $ BB $ 53.

Auch würde ich empfehlen, die Kopfzeilen in der obersten Zeile setzen, so anstelle von $ A $ 4: $ G $ 4 (oder im letzten Absatz $ A $ 4: $ BA $ 4) sollten Sie $ A $ 1: $ BA haben $ 1. Auf diese Weise können Sie so viele Ebenenintensitäten hinzufügen, wie Sie möchten (vorausgesetzt, Sie haben dies in der INDIREKTEN Funktion zugewiesen.)

Nach all meiner Anweisung nach der ersten Formel haben Sie jetzt in Zelle C17: = SUMIFS (INDIREKT (INDEX ($ BB $ 1: BB $ 53, SPIEL (A11, $ A $ 1: $ BA $ 1,0) +1) & "1:" & INDEX ($ BB $ 1: BB $ 53, Match (A11, $ A $ 1: $ BA $ 1,0) +1) & "9"), INDIREKT (INDEX ($ BB $ 1: BB $ 53, MATCH (A11, $ A $ 1: $ BA $ 1,0)) & "1:" & INDEX ($ BB $ 1: BB $ 53, Match (A11, $ A $ 1: $ BA $ 1,0)) & "9"), B11)

Erhöhen Sie die Grenzen, wie Sie für richtig halten.Ich würde stark vorschlagen, die Daten in ein separates Tabellenkalkulation oder, wenn ein ol In der Version von Excel, schneiden Sie diese Daten aus und fügen Sie sie rechts neben Ihrem Benutzerformular ein (sagen Sie rechts von Spalte H sieht sicher aus wie Robert's Bild) und verstecken Sie die Spalten. Schützen Sie dann das Blatt vor Änderungen, abzüglich der Zellen, für die Sie den Schutz für die Benutzereingabe aufgehoben haben.

Prost Robert Boyett für die Bereitstellung der. Png-Dateien auf Ihrem Hosted Server. Sehr hilfreiche Ressource.

+0

Vielen Dank für die Zeit, an einem Beispiel zu demonstrieren. Ich verstehe, was du genau gesagt hast, aber das war nicht meine Absicht. Lass mich dein Beispiel benutzen, um mich besser auszudrücken. In Spalte A, A1 bis A3 haben wir (zB Laufen, Radfahren und Schwimmen). –

+0

in Spalte B, C und D haben wir ihre Unterkategorien (zB B1: B3 läuft bergauf, läuft am Strand und läuft mit 4 bis 5 mph. C1: C3 ist eine Zahl zeigt den Impact-Faktor für diese spezifische Aktivität zB 2, 3, 4. D1: D3 als Rad Typ 1, Typ und Typ 3. E1: E3 wieder die Auswirkungen Faktoren als eine Nummer –

+0

F1: F3 Schwimmen Typ 1, Typ 2 und Typ 3. G1: G3 Impact-Faktor für Schwimmen Arten). Was ich versuche, für die Benutzer zu erstellen, ist, sie zu bitten, zuerst ihre Aktivitätskategorie auszuwählen, bei der es sich entweder um Laufen, Schwimmen oder Radfahren handelt. wenn sie eines aus dieser Liste A1: A3 auswählen, wäre die nächste Frage ihre Wahl aus den Unterkategorien. Nehmen wir an, sie wählen A2 (z. B. running) und müssen nur eine von B1: B3 auswählen. –

Verwandte Themen