2013-12-20 8 views
1

У меня есть таблица с 20 + столбцами, и я пытаюсь получить в каждой строке список столбцов, которые заполнены. Например:Excel: возвращает все заголовки столбцов со значением в текущей строке

Owner  Item List   Item1 Item2 Item3 Item4 
Me  Item1,Item2   3  4   
You  Item1,Item3,Item4  2   1  2 
Her  Item2,Item3     1  1 
Him  Item1,Item4   5     6 

для «Me» строка, Item1 и Item2 заселены, поэтому в списке элементов является "Item1,Item2" (любой разделитель штрафа).

Можно ли выполнить это без VBA?

+0

[Я хотел бы посмотреть на это] (http://stackoverflow.com/questions/20335906/return-a-comma-separated-list-from-an-array-formula) Вопрос, который я задал когда я начал с SO. Я искал решение подобной проблемы, как вы, - это может указывать на вас в правильном направлении. –

+0

Спасибо. Похоже, там есть какой-то потенциал. Я поиграю с этим. – abeardneglected

ответ

2

enter image description here

Шаг 1: выяснить элементы должны включать в себя для каждого владельца (грейфер Items)

В ячейке G2, занесенные в следующей формуле:

=IF(ISNUMBER(C2)=TRUE,CONCATENATE(C$1,";"),"") 

Применить это через G2: J5. Это поместит имя элемента в соответствующей ячейке, если существует такое число С2: F5

Шаг 2: Объединить и получить список элементов: В ячейке К2 в:

=CONCATENATE(G2,H2,I2,J2) 

применять его через K2: K5

+0

Спасибо, что у меня есть. В реальной таблице есть 42 столбца, поэтому конкатенация на шаге 2 будет длинной, но выполнимой. – abeardneglected

+0

@abeardneglected yeah, функция конкатенации excel не принимает диапазон в качестве входных данных ... вы можете попробовать эти методы ... http: //stackoverflow.com/questions/8135995/how-to-merge-all-column-into-one -клетка-в-первенствует – Cici

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