Как применить условное форматирование, специфичное для каждой строки?

в моем листе я хотел бы, чтобы применить условное форматирование, которое предупреждает меня, если верно следующее:

IF (len(J7) + len(h14) + len(i14) > 256) = TRUE: apply some formatting on I14.
IF (len(J7) + len(h15) + len(i15) > 256) = TRUE: apply some formatting on I15.
IF (len(J7) + len(h16) + len(i16) > 256) = TRUE: apply some formatting on I16.
IF (len(J7) + len(h18) + len(i18) > 256) = TRUE: apply some formatting on I18.
IF (len(J7) + len(h19) + len(i19) > 256) = TRUE: apply some formatting on I19.
IF (len(J7) + len(h20) + len(i20) > 256) = TRUE: apply some formatting on I20.

...и так далее и тому подобное вплоть до бесконечности.

Я делаю строку с тремя компонентами, первый компонент всегда находится в J7, тогда это комбинация ячеек " h " и " i " каждой строки, начиная с строки 14 и работая вниз. Если строка в этой конкретной строке больше 256 символов, я хотел бы какое-то уведомление для этой строки.

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

какие идеи?

его не нужно решать с помощью условного форматирования.. vba или что-то еще будет работать одинаково хорошо..

13
задан Erik
07.12.2022 9:01 Количество просмотров материала 2815
Распечатать страницу

3 ответа

Я не вижу рисунка.

IF (len(J7) + len(h14) + len(i14) > 256) = TRUE: apply some formatting on I14.
IF (len(J7) + len(h15) + len(i15) > 256) = TRUE: apply some formatting on I15.
IF (len(J7) + len(h16) + len(i16) > 256) = TRUE: apply some formatting on I16.
IF (len(J8) + len(h18) + len(i18) > 256) = TRUE: apply some formatting on I18.
IF (len(J9) + len(h19) + len(i19) > 256) = TRUE: apply some formatting on I19.
IF (len(J20) + len(h20) + len(i20) > 256) = TRUE: apply some formatting on I20.

это ваша фактическая картина?

IF (len(J14) + len(h14) + len(i14) > 256) = TRUE: apply some formatting on I14.
IF (len(J15) + len(h15) + len(i15) > 256) = TRUE: apply some formatting on I15.
IF (len(J16) + len(h16) + len(i16) > 256) = TRUE: apply some formatting on I16.
IF (len(J18) + len(h18) + len(i18) > 256) = TRUE: apply some formatting on I18.
IF (len(J19) + len(h19) + len(i19) > 256) = TRUE: apply some formatting on I19.
IF (len(J20) + len(h20) + len(i20) > 256) = TRUE: apply some formatting on I20.
0
отвечен Kennah 2022-12-08 16:49

правило заключается в том, что вам нужно применить формулу, которая относится к верхняя левая клетка диапазона - Excel автоматически скорректирует формулу для результата диапазона, как если бы формула была скопирована на лист, так что если вы выберите диапазон, как I14:I1000 затем вы можете применить формулу, которая была бы правильной для I14, т. е.

=LEN(J&H14&I14)>256

потому что я использовал $ в значении J7, которое "исправит" строку в 7, а другие строки будут прирост. Вы не видите этого явно, но это то, как он работает внутри.

Примечание: вам не нужно, если заявление, просто "тест", что приводит к TRUE или FALSE

0
отвечен barry houdini 2022-12-08 19:06

выберите столбец(ы), на которые вы хотите повлиять, и используйте эту формулу.

=(LEN($J)+LEN($H1)+LEN($I1))>256
0
отвечен Kennah 2022-12-08 21:23

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх