Я создал базу данных Excel. В определенном столбце я могу только ввести Да / Нет. Я хочу, чтобы, если я поставил "Нет", все ячейки после этой ячейки для этой строки будут показывать N / A. Однако, если ответ Да, я хочу, чтобы эти ячейки могли принимать входные данные.

Учитывая, что это должно быть верно для всей таблицы и для каждой новой добавленной строки, и что есть возможность, я бы вернулся и изменил свой ответ на "Нет", я не могу полагаться на формулу. Как я могу последовательно убедиться, что значения ячеек корректируются в зависимости от того, содержит ли важная ячейка Да или Нет?

Пример:

Cols    A     B     C      D     E
Row1   Yes   12    Some   1     3
Row2   No    N/A   N/A    N/A   N/A

Примечание. В случае, если это может что-то повлиять, столбцы D и E имеют проверку данных и могут принимать ответы только из предварительно заданного списка. Я включил «N /A» в этот список на всякий случай.

2 ответа2

0

Вы можете написать процедуру обработки событий в VBA (типа Worksheet_SelectionChange), проверить, является ли столбец A в вашей таблице целевой областью, и условно заполнить ячейки текстом «N /A». Но это отбросит все ранее введенные значения.

В качестве простой альтернативы я предлагаю использовать условные форматы. Состояние

=(TOLOWER($A4)<>"yes")

для ячеек в строке 4 и форматом True будет идентичный цвет текста и цвет рисунка. Таким образом, весь контент скрыт от просмотра, пока значения не затронуты. В конце концов, это для того, чтобы направлять человека на ввод данных, визуально.

0

Чтобы добавить в свой вопрос условного форматирования: Ваш диапазон может быть уравнением, а не фиксированным диапазоном. Это сделает функцию OFFSET особенно полезной, поскольку вы можете автоматически расширять условное форматирование, чтобы включить ваш выбор. Например:

=Offset(A1,0,0,CountA(A1:A1000),1)

Будет автоматически расширено, чтобы включить все в столбце A, до строки 1000. Если вы хотите, чтобы он расширялся по горизонтали

=Offset(A1,0,0,1,CountA(A1:DZ1))

И т.п.

Это сломается, если у вас есть разрывы столбцов в середине. Не уверен, насколько хорошо он справляется и со слитыми ячейками (еще не проверял). Для подобных проблем попробуйте что-то вроде этого: (Пример с 5 пустыми строками для интервалов)

=Offset(A1,0,0,CountA(A1:A1000)+5,1)

И т.д. Надеюсь, это поможет с вашей "но мне нужно продолжать расширять" проблему.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .