2016-04-26 2 views
0

Excel избивает меня сегодня.Как получить и объединить значения из одного столбца на основе другого столбца в Excel

У меня есть эта таблица:

+---+--------+--------+--------+--------+ 
| | 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 |  | 
+---+--------+--------+--------+--------+ 

Теперь мне нужно создать новую таблицу на основе этих данных, с одной строки и одного столбца, который я заполнить столбец А и нужна формула для заполнения колонка B:

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

Так что нужна формула, чтобы проверить столбцы первой таблицы в C и D для каждого ГД, и проверить, возраст каждого из них в колонке а, а затем объединить все значения, которые соответствуют в одну ячейку с a, как разделитель.

Может ли кто-нибудь мне помочь?

Благодаря

+0

У вас есть последняя OFFICE 365? –

ответ

0

На большом сайте первенствовать от Chip Пирсона, я нашел пользовательскую функцию: StringConcat. Просто скопируйте код в модуль VBA.

Что-то вроде следующей формулы (в ячейке B10 & заполнить) должно работать на вас. Это формула массива (коммит [Ctrl-Shift-Enter]

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

Вы должны настроить диапазоны от курса.

+1

FWIW В Excel 2016 есть Теперь моя проблема с OP, которая осталась без ответа в течение 2 часов. –

+0

Я не могу найти функцию TEXTJOIN() в моей настольной версии excel 2016. Делает это только приходят с версией офиса 365 или я пропустил обновление? –

+0

Извините, что он находится в офисе 365. –

Смежные вопросы