Как я могу условно отформатировать ячейку на основе разных результатов ячейки?

342
Simon Stevens

Как я могу условно отформатировать ячейку на основе разных результатов ячейки?

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

Я хочу отформатировать ячейку, содержащую штрих-код, чтобы выделить зеленый, если элемент включен, и красный, если элемент отсутствует. Тогда это будет краткий справочник при просмотре листа всех предметов.

Есть ли способ сделать это?! Мои навыки превосходства не очень сильны, поэтому сейчас я немного переживаю!

2

1 ответ на вопрос

1
JG7

Для вас может быть полезно иметь столбец, в котором четко указано «Out» или «In» в зависимости от количества сканирований. Код может быть помещен в новый столбец для каждой строки и должен дать вам знать эту информацию. Обратите внимание, что я предполагаю, что нечетное количество сканирований указывает на состояние «Вне», а четное число сканирований представляет состояние «В».

Добавьте это в новый столбец:

=IF(MOD(COUNTA($B2:$ZZ2),2)=0,"In", "Out") 

Где B - первый столбец меток времени, а ZZ - самый дальний, который вы можете себе представить.

COUNTA () подсчитывает количество непустых ячеек. MOD () выполняет оператор по модулю, который указывает остаток после деления. IF () устанавливает значение на основе истинного или ложного результата теста.

Оттуда вы можете использовать условное форматирование, чтобы закрасить столбец «IN / OUT» в качестве соответствующего цвета на основе его собственного значения.

Если вы не можете добавить столбец, поскольку необходимо изменить код VBA, и это недопустимо, тогда вы можете просто использовать эту формулу вместо формулы, которую я дал вам ниже, для условного форматирования:

=MOD(COUNTA(C1:ZZ1),2)>0 

Эта формула проверит, если предмет отсутствует. Используйте эту формулу, чтобы проверить, находится ли она в:

=MOD(COUNTA(C1:ZZ1),2)<1 

Я думаю, что это отличное использование условного форматирования!

Начните с выбора столбца штрих-кода и перехода к условному форматированию на ленте сверху.

Выберите «Новое правило»

Выберите последний параметр в списке «Тип правила»: «Используйте формулу, чтобы определить ячейки для форматирования».

В строке формул используйте этот код

=ISNUMBER(FIND("Out",$A2)) 

Где A2 - это столбец In / Out. Обратите внимание, что знак доллара сохраняет столбец A, но корректирует правило для каждой строки вниз.

Теперь выберите форматирование, которое вы хотите (например, цвет фона для ячейки штрих-кода).

Затем вы повторите эти шаги для форматирования с зеленым фоном, когда элемент «В».

Редактировать: просто ради информации, функция FIND () пытается найти данный текст в указанном месте. Если он находит текст, который вы ищете, он возвращает место в строке, где текст был начат, в противном случае он возвращает ошибку. Затем мы можем использовать ISNUMBER (), чтобы проверить, было ли возвращаемое значение числом и, следовательно, находилось в указанной ячейке.

Привет, Джои, спасибо за твою помощь, однако в ячейках не указано In или Out, у них просто есть отметка времени, а затем она отправляется в следующую ячейку при повторном сканировании, поэтому я получаю ряд отметок времени - я не уверен, как заставить это говорить или выходить, поскольку я скопировал код VB с форума! Есть ли способ сделать форматирование на отметке времени? Simon Stevens 6 лет назад 0
Сможете ли вы отредактировать исходное сообщение с примером? Если я правильно понимаю, ваша строка будет непрерывно увеличиваться в размерах при каждом сканировании элемента. Это правильно? Если да, то справедливо ли говорить, что если существует нечетное количество отметок времени, то оно извлекается, а четное число означает отметку? JG7 6 лет назад 0
Я добавил скриншот к своему оригинальному сообщению. Да, у меня будет постоянно растущая строка в зависимости от того, сколько раз сканируется штрих-код. Извините, это немного сложно объяснить! Simon Stevens 6 лет назад 0
Я понимаю. Дайте мне время, чтобы отредактировать мой ответ. JG7 6 лет назад 0
Это сработало очарование! Мне удалось изменить VB, так что пошел с вашей первой формулой. Спасибо большое за вашу помощь. Simon Stevens 6 лет назад 0
Нет проблем. Хорошего дня! JG7 6 лет назад 0

Похожие вопросы