2017-09-19 3 views
0

Eingang

DatenblattARRAYFORMULA abrufen Liste von mehreren Kriterien

TaskId ClientId Canceled 
1    1   0 
2    1   0 
3    1   0 
4    2   0 
5    2   1 
6    2   0 
7    3   0 

Bericht Blatt

gewünschte Ausgabe

ARRAYFORMULA alle TaskIds erhalten aus Daten von Kunden, wo Cancelled = 0

TaskIds 
1 
2 
3 
1 
2 
3 
4 
6 
7 

Ich habe join + filter Formel nach unten zu ziehen, die mir alle TaskIds für Kunden gibt:

ClientId TaskIds 
1   1,2,3 
1   1,2,3 
2   4,6 
3   7 

Dann bekomme ich mein Ergebnis aus diesem helper_column :

=transpose(split(join(",", helper_colum)))

Und ich möchte das funktionieren lassen, ohne runterziehen zu müssen.

+0

das Ergebnis der doppelten Client-IDs (zwei 1s) notwendig? –

+0

@anonymous, doppelte Client-IDs ist erforderlich, da die Aufgabe darin besteht, den Workflow nach Muster zu erstellen, und das Muster kann sich wiederholen. –

+0

Ok ... Gäbe es die Duplikate nicht, hätte eine einfache Abfrage den Trick gemacht. Egal jetzt aber .... –

Antwort

1

Versuchen Sie folgendes:

=ARRAYFORMULA(TRANSPOSE(SPLIT(CONCATENATE(""&TRANSPOSE(IF(TRANSPOSE(A11:A14)=B2:B8,IF(C2:C8=0,A2:A8,""),""))),""))) 

A11: A14 = Meldeblatt Client-ID.
A2: C8 = Datenblattwerte.
Prost

+1

Danke! Akzeptiert die Antwort, weil es kürzer und unkomplizierter ist und (Bonus!) Keinen Fehler gibt, wenn alle Aufgaben abgebrochen werden. Prost! –

1

In der Registerkarte 'Report' this spreadsheet, Zelle B2 trat ich

=arrayformula(vlookup(A2:A5&"", regexreplace({unique(filter(Data!B2:B, Data!C2:C=0))&"", trim(transpose(query(if((transpose(unique(filter(Data!B2:B, Data!C2:C=0)))=filter(Data!B2:B, Data!C2:C=0))*len(filter(Data!B2:B, Data!C2:C=0)),filter(Data!A2:A, Data!C2:C=0)&",",),,50000)))},",$",), 2, 0)) 
+0

Danke! Nahm mich 20 min. es bekommen. Warum brauchen wir '* len (Filter (Daten! B2: B, Daten! C2: C = 0))'? Diese Formel hat auch funktioniert: '= arrayformula (vlookup (A2: A5 &" ", regexreplace ({unique (filter (Daten! B2: B, Daten! C2: C = 0)) &" ", trim (transponieren (abfragen (if ((Transponieren (eindeutig (Filter (Daten! B2: B, Daten! C2: C = 0))) = Filter (Daten! B2: B, Daten! C2: C = 0)), Filter (Daten! A2: A , Daten! C2: C = 0) & ",",) ,, 50000)))}, ", $",), 2, 0)) –

Verwandte Themen