2017-11-29 3 views
0

Ist es möglich, eine Array-Formel basierend auf einer Tabelle zu erstellen, in der nach bestimmten Kombinationen von Daten gesucht wird, bevor sie summiert werden? Hier einige Daten Beispiel:EXCEL Array SUM IF eindeutige Kombinationen mehrerer Kriterien

| A  |  B  |  C  |  D  | 
--------------------------------------------------- 
1 | 1 Jun | Charlie | D   | 1.3  | 
2 | 1 Jun | Charlie | N   | 1.4  | 
3 | 1 Jun | Dave  | D   | 1.3  | 
4 | 2 Jun | Charlie | N   | 0.6  | 
5 | 2 Jun | Dave  | D   | 1.5  | 

Was ich die Matrixformel möchte in der Lage sein wird am Tisch aussehen zu tun, Spalte B ignorieren und mir sagen, welche unterschiedlichen Zeilen (A, C und D oder mehr Kriterien) und Spalte D addieren, wenn sie eindeutig sind. In diesem Beispiel sollte Zeile 3 nicht zusammengefasst werden, da am 1. Juni "D" bereits eine 1.3 hat.

PivotTables und VBA sind out, da ich dies für den Benutzer der niedrigsten Ebene auf super restriktiven Computern entwerfe.

BEARBEITEN: Abbildung der erwarteten Ergebnisse, geänderte Beispieldaten, um die Ergebnisse widerzuspiegeln.

Art der Daten, die ich suche .... Ich ersetzte die ID mit dem zu visualisierenden LName. Ich muss Personen ausschließen und nur Flugstunden nach ihren Modi bekommen. Sie können zum unteren Teil des Bildes sehen, 2 Personen sind in einem Flugzeug. Ich habe MAX benutzt, um es davon abzuhalten, es zu summieren und die Stunden zu verkürzen.

Die Ebenen auf der linken Seite sind nach Datum, Flugzeug, Flugnummer, dann Person. Ich muss die Stunden bis zur Flugnummer jedes Datums aggregieren.

Pivot Table

Die ursprüngliche Formel ist

=SUM((FLTD_HRS)*(FLTD_DATE>=$D$3)*(FLTD_DATE<=$D$4)*(IF(FLTD_ACFT_MDS=CONFIG!$F$8,1,0))) 

jedoch, wie es ist, macht mich nicht einzigartig Flüge. Ich würde eine Matrixformel zu einer Pivot-Tabelle bevorzugen .... XD

+0

Können Sie ein erwartetes Ergebnis für Ihre Tabelle anzeigen? – Xeningem

+0

Posted in bearbeiten. – Karl

+0

"Summe wenn sie einzigartig sind" ergibt für mich keinen Sinn. Sie möchten, dass eine bestimmte Zeile ignoriert wird, weil ... warum jetzt? Ihre erwarteten Ergebnisse stimmen nicht mit Ihren Beispieldaten überein. Ich bin mir einfach nicht sicher, was du zu tun versuchst. – JNevill

Antwort

0
  1. Erstellen Sie eine Tabelle mit den einzigartigen Kombinationen von A, C und D. Dies funktioniert endlich unter der Annahme, oder zumindest nicht zu ändern, aber Sie können auch Fügen Sie einfach jede mögliche Kombination hinzu und fügen Sie ein IF (row = "", "", x) zur Formel hinzu, um es nicht anzuzeigen.
  2. Sie können Ihrer ersten Tabelle eine neue Spalte (E) hinzufügen und dann den Wert in der neuen Tabelle suchen oder in der neuen Tabelle berechnen.

    E = SUMIFS(D$3:D$30,A$3:A$30,A3,C$3:C$30,C3,D$3:D$30,D3) 
    E1 = {=INDEX(A$3:E$30,MATCH(G3&H3&I3,A$3:A$30&C$3:C$30&D$3:D$30,0),5)} 
    E2 = SUMIFS(D$3:D$30,A$3:A$30,G3,C$3:C$30,H3,D$3:D$30,I3) 
    

enter image description here

0

Ich landete ein Berechnungsblatt die Schaffung eines eindeutigen Schlüssel für jeden Flug zu schaffen, indem die Felder verketten Ich wollte die Duplikate entsprechen und eliminiert auch bei der Suche nach „VALID_PC“, die Gesucht wurde der höchste Rang der Person in der fliegenden Crew. Die Formeln I verwendet in den Spalten K und L waren:

=IF(IFERROR(MATCH(H3,VALID_PC,0),"0"),A3&RIGHT(C3,5)&D3&E3,0) 

und

=IFERROR(IF(A2=0,0,IF(COUNTIF($K$2:K3,K3)>1,0,1)),0) 

Das erlaubte mir, eine einfach zu tun {= SUMME}, ob Spalte L eine 1 in der es auf der Haupt-Seite hatte

..

Calculations Sheet

ich schätze tun, um die Hilfe und Mühe, die Sie alle in setzen, mir zu helfen.