Viele Möglichkeiten:
- mit Nummer Handel zurückgibt:
Wenn Ihr Rückgabewerte sind Zahlen und die Übereinstimmung ist einzigartig (es gibt nur einen John Doe im d ata) oder Sie möchten die Rücksendungen zusammenfassen, wenn es Vielfache gibt, dann ist die Verwendung von SUMMIFS die schnellste Methode.
=SUMIFS(C:C,A:A,J1,B:B,J2)
- Bei nicht numerischen kehrt
Wenn die Erträge nicht numerisch sind, oder es Multiples dann gibt es zwei Methoden, um Holen Sie sich die erste Übereinstimmung in der Liste:
a. Ein Helfer Säule:
In einer vierten Spalte setzen die folgende Formel:
=A1&B1
und kopieren Sie in der Liste
Dann INDEX/MATCH verwenden:
=INDEX(C:C,MATCH(J1&J2,D:D,0))
b. Die Matrixformel:
Wenn Sie nicht wollen oder können die vierte Spalte dann nicht erstellen verwenden, um ein Array-Typ Formel:
=INDEX(C:C,AGGREGATE(15,6,ROW($A$1:$A$4)/(($A$1:$A$4=J1)*($B$1:$B$4=J2)),1))
Array-Typ Formeln müssen die Größe der Daten auf den Datensatz begrenzen.
Wenn Ihr Datensatz Änderungen Größen regelmäßig können wir die oben dynamisch sein ändern, indem mehr INDEX/MATCH Zugabe der letzten Zelle mit Daten zurück:
=INDEX(C:C,AGGREGATE(15,6,ROW($A$1:INDEX($A:$A,MATCH("ZZZ",A:A)))/(($A$1:INDEX($A:$A,MATCH("ZZZ",A:A))=J1)*($B$1:INDEX($B:$B,MATCH("ZZZ",A:A))=J2)),1))
Dies wird die Daten ermöglichen eingestellt, um zu wachsen oder zu schrumpfen und die Formel wird nur diejenigen durchlaufen, die Daten und nicht die vollständige Spalte haben.
Die oben beschriebenen Methoden werden in der Reihenfolge Best-Better-Good festgelegt.
- Um mehrere Antworten in einer Zelle
zu bekommen Wenn Sie nicht summieren möchten, oder die Rückgabewerte sind Text und es gibt mehrere Instanzen von John Doe und Sie möchten, dass alle Werte in einer Zelle zurückgegeben werden:
a. Wenn Sie Office 365 Excel haben, können Sie ein Array Form von TEXTJOIN verwenden:
=TEXTJOIN(",",TRUE,IF(($A$1:$A$4=J1)*($B$1:$B$4=J2),$C$1:$C$4,""))
Als eine Matrixformel muss es mit bestätigt werden Ctrl-Shift-Enter statt Eingabe, wenn Bearbeitungsmodus zu verlassen. Wenn es richtig gemacht wird, wird Excel {}
um die Formel setzen.
Wie die AGGREGATE Formel oben muss es auf den Datensatz beschränkt werden. Die Bereiche können mit den INDEX/MATCH-Funktionen wie oben auch dynamisch gemacht werden.
b. Wenn ein Office 365 Excel nicht dann fügen Sie diesen Code zu einem Modul an der Arbeitsmappe angehängt:
Function TEXTJOIN(delim As String, skipblank As Boolean, arr)
Dim d As Long
Dim c As Long
Dim arr2()
Dim t As Long, y As Long
t = -1
y = -1
If TypeName(arr) = "Range" Then
arr2 = arr.Value
Else
arr2 = arr
End If
On Error Resume Next
t = UBound(arr2, 2)
y = UBound(arr2, 1)
On Error GoTo 0
If t >= 0 And y >= 0 Then
For c = LBound(arr2, 1) To UBound(arr2, 1)
For d = LBound(arr2, 1) To UBound(arr2, 2)
If arr2(c, d) <> "" Or Not skipblank Then
TEXTJOIN = TEXTJOIN & arr2(c, d) & delim
End If
Next d
Next c
Else
For c = LBound(arr2) To UBound(arr2)
If arr2(c) <> "" Or Not skipblank Then
TEXTJOIN = TEXTJOIN & arr2(c) & delim
End If
Next c
End If
TEXTJOIN = Left(TEXTJOIN, Len(TEXTJOIN) - Len(delim))
End Function
Dann nutzen Sie die TEXTJOIN() Formel, wie oben beschrieben.
Da Sie eine Nummer aus einer Liste suchen, können Sie '= SUMME (C: C, A: A, J1, B: B, J2) verwenden, vorausgesetzt, dass Ihre Namen eindeutig sind. Sie könnten auch eine dritte Spalte erstellen, die die Namen verkettet und danach eine Suche durchführt. Insert C als neue Spalte C1 (und nach unten kopieren) '= A1 & B1'. Dann in J3 '= vlookup (J1 & J2, C: C, 2, falsch)'. – JNevill
Siehe [Excel: Übereinstimmung mit zwei Spalten und Ausgabe dritter ... UND ... in jeder Spalte gibt es mehrere Instanzen] (http://stackoverflow.com/questions/31979340/excel-match-two-columns-and-output-third-and) -there-sind-multiple-instance/31980952 # 31980952) – Jeeped
@Jeeped warum nicht Mjölnir dieser Thread? –