Ладно, это немного грязно, но работает, пока вы готовы создавать и скрывать кучу дополнительных столбцов.
По сути, идея состоит в том, чтобы создать целую сетку операторов IF (по одному для каждой ячейки в основных данных посещаемости), а затем скрыть все эти столбцы и объединить их значения в один столбец.
Справа от основных данных в ячейку во второй строке (строка для первого учащегося) добавьте следующую формулу:
=IF(B2="a",B$1&",","")
Это говорит о том, что если студент в этом ряду отсутствовал в данный день, напишите этот день здесь, иначе оставьте это поле пустым. ($ In B $ 1 важен, потому что это будет держать вывод, смотрящий на первую строку, даже в копируемых / вставленных версиях формулы.)
Затем скопируйте / вставьте эту формулу в полный диапазон ячеек, равный количеству ячеек данных о посещаемости (поэтому, если данные о посещаемости составляют 48 на 66 ячеек, то операторы IF также должны заполнять 48 на 66 ячеек).
Теперь вы должны увидеть 48 столбцов, состоящих в основном из пустых ячеек, но некоторые ячейки заполнены, чтобы соответствовать дням, когда ученики отсутствовали.
Затем в столбце справа от всего этого, во второй строке, добавьте формулу вроде этого:
=CONCATENATE(X2,Y2,Z2,...etc...)
Замените X2, Y2, Z2 и т.д. Ячейками операторов IF (вы можете сделать это быстро, щелкнув по каждой ячейке, а затем нажав клавишу запятой).
Когда вы нажимаете Enter, эта ячейка должна выглядеть примерно так:6,13,18,
Заполните эту формулу вниз листа, чтобы учесть каждую строку / студент.
Теперь, если конечная запятая слишком болезненна для просмотра, вы можете создать еще один столбец для просмотра столбца сцепления и вернуть все символы этого столбца, кроме последнего.
=IF(LEN(X2)>0,LEFT(X2,LEN(X2)-1),"")
Замените X2 на ячейку с конкатенированной строкой. (Включая IF (LEN (X2)> 0), чтобы вы не получили ошибку, если у ученика была отличная посещаемость.
Затем просто спрячьте все столбцы, кроме последнего, и все готово!
В качестве альтернативы, я думаю, что VBA имеет функцию concatenateif, которая поможет, но я не знаю, как ее использовать.