Использование arrayformula для автозаполнения формул для новых записей-сравнение ячеек в одном столбце
относительный новичок в использовании формул в excel / Google Таблицах, и у меня возникли проблемы с выяснением,как я могу использовать формулу массива Для сравнения ячеек в разных строках,но тот же столбец в Google таблицах (в моем случае, как я могу сделать =IF(A3=A2, dothis, elsedothis) в качестве формулы массива. Мне также было бы интересно, есть ли у кого-нибудь другое решение, кроме формулы массива для автозаполнения формул.
особенности:
У меня есть список участников, которые сделали экспериментировать, и некоторые из них делали это несколько раз. С длинным списком участников и несколькими записями для некоторых участников трудно увидеть, где заканчивается информация одного участника и начинается следующий. Поэтому я хочу чередовать строки в сером и белом затенении на основе номера участника (т. е. все записи 001 серого цвета, все записи 002 белого цвета, 003 серого цвета и так далее). Для этого я помещаю столбец справа, используя формулу, которая проверяет, является ли участник номер в строке выше это то же самое, и, если нет, он добавляет один (я хотел бы использовать это, чтобы получить счет участника позже). Вот как выглядит набор данных, и я включил формулу справа.
A B ... ... X
001 9/1/16 ... ... 1 (1)
001 10/1/16 ... ... 1 (=IF(A3=A2,X2,X2+1))
001 11/1/16 ... ... 1 (=IF(A4=A3,X3,X3+1))
002 9/2/16 ... ... 2 (=IF(A5=A4,X4,X4+1))
002 10/2/16 ... ... 2 (=IF(A6=A5,X5,X5+1))
003 10/5/16 ... ... 3 (=IF(A7=A6,X6,X6+1))
...
все это работает нормально и денди, но проблема в том, что когда я ввожу новую строку, она не заполняет формулу автоматически, и поэтому затенение не настраивается. Полагаю, я мог бы перерисовывать формулу каждый раз, когда я ввожу новую информацию об участнике, но это утомительно и я не единственный, кто использует его, так что он будет испорчен довольно быстро. Из того, что я посмотрел, arrayformula-это то, что я должен использовать. Но вы должны ссылаться на столбец в целом, если вы используете формула. У кого-нибудь есть идеи?
3 ответов
предполагая, что вы получили условное форматирование, я считаю, что формулы, которые вы используете, можно превратить в одну формулу массива, чтобы выход автоматически расширялся при добавлении новых строк. В этот пример таблицы, я использовал в ячейке X2 эту формулу:
={1; ArrayFormula(IF(LEN(A3:A), offset(A2,0,0,ROWS(A3:A),1) + IF(A3:A = offset(A2,0,0,ROWS(A3:A),1), 0, 1),))}
увидеть, если это будет работать для вас ?
Примечание: пользовательская формула в условном форматировании, используемая в электронной таблице, -
=AND($X1<>"", ISODD($X1))
один из способов добиться желаемого результата:
чтобы чередовать строки в сером и белом затенении на основе номера участника, выполните следующие действия:
- под выбрать
conditional formatting
Enteries для
чтобы получить количество участников вы можете использовать формулу Done
=countunique(A2:A16)
вы можете сделать это все вместе без дополнительного вспомогательного столбца вообще, просто используя Условное форматирование:
пользовательская функция для добавления в параметр условного форматирования:
=isodd($A:$A)=TRUE
в конце, если вы все еще хотите подсчет участников, вы можете использовать это:
=COUNTA(UNIQUE(A:A))