Создайте новую таблицу справа от существующей таблицы, поместите пользователей слева, а затем создайте столбец для каждого возможного действия. Это единственный надежный способ записи, кто и какие действия делал.
Затем создайте столбец слева от существующей таблицы, содержащий эту формулу:
=UserColumnCell&ActionColumnCell
i.e. =$C2&$B2
Это даст вам значение, которое вы можете использовать для создания VLOOKUP в вашей новой таблице, например User1Lore ipsum 1
.
Вернитесь к новой таблице и в первой ячейке левого столбца «Действие» добавьте следующую формулу:
=IF(ISERROR(VLOOKUP(UserColumnCell&ActionColumnTitle),FirstTableRange,2,FALSE)),0,1)
i.e. =IF(ISERROR(VLOOKUP(E2&F1,$A$2:$C$1000,2,FALSE),0,1)
Поскольку мы не исправили ссылки на ячейки в первой половине формулы, теперь вы можете перетаскивать формулу поперек для каждого действия и вниз для каждого пользователя, и она будет корректироваться соответствующим образом.
Наконец, скопируйте все данные, которые мы только что создали, и вставьте их обратно в себя, используя тип вставки как Значения. Вы можете знать, уничтожить свой оригинальный стол.
Очевидно, что если вы хотите установить другой флаг для выполняемого действия, измените 1 и 0. Например, если вы хотите небольшую галочку, вы можете оставить ее как есть и использовать условное форматирование для "ячеек на основе их значений", установленных на значке "Галочка", или вы можете просто установить шрифт каждого из столбцов "Действие" в Marelett. и заменить 0,1
с "","a"
, как галочка в Марлетте.
Если вы используете таблицы, вы можете упростить это, используя ссылки на таблицы. Где ваша существующая таблица Table1, а новая Table2:
Формула в столбце 1 таблицы 1 будет иметь вид:
=[@User]&[@Action]
И тогда формула в каждом из столбцов действий в таблице 2 будет иметь вид:
=IF(ISERROR(VLOOKUP([@User]&Table2[[#Headers],[lore ipsum 1]],Table1,2,FALSE)),0,1)
Хотя, если вы сделаете это, вам придется сбросить ссылку [@User], как только вы перетащите формулу, поскольку она будет смещена.
Так что же это делает?
на тот случай, если вы не экспериментировали с VLOOKUP: оператор IF управляет возможностью диктовать то, что мы выводим, а не просто возвращать значение, найденное VLOOKUP.
ISERROR вернет true или false в зависимости от того, найдет ли VLOOKUP что-либо
VLOOKUP ищет эту составную формулу, которую мы создали, чтобы увидеть, сможет ли он найти в этом столбце результат, который соответствует комбинации пользователя и действия, подходящего для этой комбинации столбца и строки в Таблице 2, если он найдет его, он его вернет, что делает ISERROR возвращает значение false, и если он ничего не находит, он выдает ошибку, заставляя ISERROR возвращать значение true.
Выход ISERROR либо TRUE, либо FALSE, если он TRUE, тогда совпадения нет, поэтому мы оставляем 0 или пробел, если вы предпочитаете показывать, что этот пользователь не выполнил это действие. Если он возвращает FALSE, то пользователь выполнил это действие, поэтому он возвращает 1 или a
для галочки или того, что вы предпочитаете.
РЕДАКТИРОВАТЬ
Этот ответ основан на том, что вы хотите изменить дизайн своей таблицы. Если вы хотите сохранить свою таблицу как есть, я бы указал на комментарий Матха о сводных таблицах, так как они будут лучшим способом сделать это, если вам нужно сохранить исходную структуру таблицы, но представить данные другим способом.