2016-04-26 29 views
0

Excel verprügelt mich für einen Tag hier.So erhalten und verketten Sie Werte aus einer Spalte basierend auf einer anderen Spalte in Excel

Ich habe diese Tabelle:

+---+--------+--------+--------+--------+ 
| | A | B | C | D | 
+---+--------+--------+--------+--------+ 
| 1 | AGE | EX# | DG1 | DG2 | 
+---+--------+--------+--------+--------+ 
| 2 | 19 | C01 | ASC |  | 
+---+--------+--------+--------+--------+ 
| 3 | 45 | C02 | ATR |  | 
+---+--------+--------+--------+--------+ 
| 4 | 27 | C03 | LSI |  | 
+---+--------+--------+--------+--------+ 
| 5 | 15 | C04 | LSI |  | 
+---+--------+--------+--------+--------+ 
| 6 | 49 | C05 | ASC | AGC | 
+---+--------+--------+--------+--------+ 
| 7 | 76 | C06 | AGC |  | 
+---+--------+--------+--------+--------+ 
| 8 | 33 | C07 | ASC |  | 
+---+--------+--------+--------+--------+ 
| 9 | 17 | C08 | LSI |  | 
+---+--------+--------+--------+--------+ 

Nun, ich brauche eine neue Tabelle auf der Grundlage dieser Daten zu erstellen, mit einer Zeile und einer Spalte, die ich werde Spalte A füllen und eine Formel benötigen zu füllen Spalte B:

+----+--------+---------------+ 
| | A |  B  | 
+--=-+--------+---------------+ 
| | DG |  AGE  | 
+--=-+--------+---------------+ 
| 10 | AGC |  49, 76 | 
+----+--------+---------------+ 
| 11 | ASC | 19, 33, 49 | 
+----+--------+---------------+ 
| 12 | ATR |  45  | 
+----+--------+---------------+ 
| 13 | LSI | 15, 17, 27 | 
+----+--------+---------------+ 

Also brauche ich eine Formel der ersten Tabelle Spalten C und D für jede GDs zu überprüfen, und überprüfen Sie das Alter eines jeden in Spalte A, und dann alle Werte verketten, die in einer Zelle übereinstimmen mit a, als Trennzeichen.

Kann mir jemand helfen?

Dank

+0

Haben Sie 365? –

Antwort

0

Auf der großen Excel-Webseite von Chip Pierson, fand ich die benutzerdefinierte Funktion: StringConcat. Kopieren Sie einfach den Code in ein VBA-Modul.

Etwas wie die folgende Formel (in Zelle B10 & ausfüllen) sollte für Sie arbeiten. Es ist eine Matrixformel (Commit mit [Strg-Shift-Enter]

=StringConcat(", ",IF(Sheet1!$B$2:$C$100=A10,Sheet1!$A$2:$A$100,"")) 

Sie werden die Bereiche vom Kurs anpassen.

+1

FWIW in Excel 2016 das neueste Office haben, gibt es eine native Formel jetzt, TEXTJOIN(), die genau das tut.Daher meine Frage an die OP, die für 2 Stunden unbeantwortet geblieben ist –

+0

Ich kann die Funktion TEXTJOIN() in meiner Desktop-Version von Excel 2016 nicht finden Kommen Sie mit der Office 365-Version oder habe ich ein Update vermisst? –

+0

Es tut uns leid, es ist in Office 365. –

Verwandte Themen