excel динамически суммировать текстовую матрицу?

Так что не совсем уверен, о чем я здесь спрашиваю, но посмотрите, не могли бы вы дать мне подсказки? Допустим, у меня есть таблица планирования, как показано ниже. Я пытаюсь придумать способ иметь вторую таблицу, в которой будет указан каждый ToolID, и одна ячейка, в которой динамически отображаются все «элементы», для которых есть X.

Идентификатор инструмента A B C D

Группа1 х х х х

Группа2 х х

Группа3 х х

Группа4 х х

Группа5 х

Группа6 х х х х

Итак, вот как будет выглядеть окончательный результат

Элементы идентификатора инструмента

Группа 1 А,В,С,D

Группа2 А,Б

Группа3 А,Б

Группа4 А,Б

Группа 5 А

Группа 6 А,В,С,D

Я пытаюсь придумать способ сделать это динамически, а не тратить время на написание длинной конкатенации или vlookup для каждого столбца, потому что матрица составляет ~ 100 строк и ~ 100 столбцов, поэтому написание одной большой формулы конкатенации вручную кажется пугающим.


person surfer349    schedule 05.02.2018    source источник


Ответы (2)


Если бы ваша первая таблица была на листе 1, а вторая на листе 2, B2 на листе 2 была бы

=If(vlookup($A2,sheet1!'$A$2:$E$7,match(B$1,sheet1!'$A$1:$E$5,0),0)="x",B$1,"")

Если ваш x был в верхнем регистре, измените его выше на «X».

Скопируйте и вставьте это в каждую ячейку, в которую вы хотите добавить букву на вашем столе.

person David wyatt    schedule 05.02.2018

Вы можете использовать TEXTJOIN, если у вас Excel 2016:

{=TEXTJOIN(",",1,IF(B2:E2="x",$B$1:$E$1,""))}

Чтобы активировать эту формулу, используйте: Ctrl+Shift+Enter вместо простого Enter.

person virtualdvid    schedule 05.02.2018