2017-04-26 10 views
0

Ich arbeite an einem Budget für ein Projekt mit mehreren Phasen. Es gibt eine Möglichkeit, dass nicht alle Phasen bearbeitet werden, also habe ich einige Nachschläge und SUMME Formeln hinzugefügt, damit ich eine Zusammenfassung meiner eingeschlossenen und ausgeschlossenen Anstrengung und Dollarbeträge bekommen kann. Das alles funktioniert gut. Jetzt möchte ich meine Suchreihe ausblenden (Zeile 1), habe aber immer noch die Möglichkeit zu erkennen, welche Phasen des Projekts enthalten sind und welche ausgeschlossen sind. Natürlich könnte ich sie manuell verketten, aber wenn die Phasen, die eingeschlossen/ausgeschlossen werden, geändert werden, dann muss ich daran denken, diese Formeln zu aktualisieren (und es ist nicht annähernd so spaßig wie alle in einer Formel). Hier ist, wie mein Blatt aussieht:Verketten von Werten aus einem Bereich basierend auf einem Lookup

Table Layout Die TEXTJOIN Funktion scheint, wie es funktionieren soll (das heißt =TEXTJOIN(CHAR(10), TRUE, C2:N2)), aber ich kann meinen Kopf nicht umschlingen, wie der Bereichsparameter auf meiner Lookup Reihe abhängig zu machen. Ich spielte mit INDEX herum und benutzte so etwas wie =TEXTJOIN(CHAR(10), TRUE, INDEX(A2:M2,,(A1:M1="Yes")*COLUMN(A1:M1))), hatte aber kein Glück. Am Ende des Tages möchte ich etwas haben, wie:

Phase 1
Phase 2
Phase 5

Bitte beachten Sie, dass die obigen Daten alle in derselben Zelle erscheinen soll - die Verwendung von Zeilenvorschubzeichen, CHAR (10), als das Trennzeichen in der TEXTJOIN-Funktion wird alle Phasen in einer neuen Zeile innerhalb einer einzelnen Zelle erscheinen lassen. Ich möchte Formeln nicht durch mehrere Zellen füllen. Vielen Dank im Voraus für jede Hilfe.

Antwort

0

enter image description here

Bitte nehmen Sie sich einen Blick auf das Bild. Ich hatte ein ähnliches Problem in der Vergangenheit (und brachte es zu Stackoverflow, an welcher Stelle ich von @ScottCraner, original post hier geholfen wurde: Doing an array formula lookup

Grundsätzlich 1) Sie richten das Array Sie durch suchen - In meinem Fall ist es $ A $ 2: $ A $ 6, in Ihrem Fall wird es $ B $ 2: $ M $ 2 sein. 2) Sie verschachteln dann die COUNTIFS-Funktion innerhalb einer Match-Funktion. Die Funktion macht folgendes: A) Er prüft, ob der Name der Phase X beim Kopieren/Einfügen bereits in Spalte E angezeigt wurde B) Wenn ja, gehen Sie weiter zum nächsten C) Wenn es nicht ist 't, Ausgabe 3) Anmerkung: Dies ist eine Array-Formel, so dass die Formel selbst durch jede Zelle prüft. So sieht es Zelle A2 aus; Wenn die Zelle in B2 "Ja" ist und "Phase 1" in Spalte E nicht in Reichweite ist, dann setze Phase 1. Weil es ist, ist es da. Dann sieht es in Zelle A3; wenn die Zelle in B3 "Ja" ist, gilt das Gleiche für Phase 2. Dann schaut sie auf Zelle A4; Weil B4 "Nein" ist, wird der * (B2: B6 = "Ja") einen Fehler ausgeben. und so weiter 4) Platzieren Sie Fehler auffangende Klammern um die Funktion.

+0

Ich habe meine ursprüngliche Frage bearbeitet, um zu verdeutlichen, dass ich hoffte, alle Ergebnisse in einer einzigen Zelle verketten zu lassen, anstatt eine Formel über einen Bereich zu füllen. – Cory

0

Eine weniger elegante Möglichkeit, dies zu tun, die Array-Formeln nicht erfordert, wäre die Verwendung der sekundären Spalte "Ja/Nein" als Index. Dies setzt voraus, dass der Wert in der sekundären Spalte redundant ist und die primäre Spalte mit "Ja" oder "Nein" wiederholt wird.

In C1: =CONCATENATE(B1,COUNTIFS($A$1:B1,B1)) - Wiederholen relativ für E1, G1, usw.

Irgendwo trennen (die unter Formel geht davon aus Reihe 1 aus dem gleichen Arbeitsblatt), könnten Sie dann verwenden: =IFERROR(INDEX($2:$2,MATCH(CONCATENATE("Yes",ROW()),$1:$1,0)-1),"")

anschauen up "Yes1", Rückkehr "Phase 1" und AutoFill nach unten. IFERROR wird hier verwendet, um leer zu gehen, wenn Sie keine "Ja" Ergebnisse mehr haben.

+0

Die Werte in den sekundären Spalten sind nicht redundant. Sie werden in anderen SUMIFF-Berechnungen zusammen mit den Kopfzeilen in Zeile 3 verwendet, um die Summe der eingeschlossenen/ausgeschlossenen Zeit und Beträge zu addieren. Außerdem möchte ich alle Werte in einer einzigen Zelle haben, anstatt das Blatt zu füllen. – Cory

Verwandte Themen