У меня есть ячейка, в которой есть два выпадающих списка: Переменный или Фиксированный. Я пытаюсь разрешить следующей ячейке всем пользователям вводить любое число, когда выбрана переменная, но разрешить пользователям вводить 1 только тогда, когда выбрана фиксированная, иначе они получат сообщение проверки данных. Спасибо за помощь
2 ответа
Вот альтернативное (лучшее) решение.
Он позволяет вводить любое число, когда выбрана Variable
, и, что более важно, он не дает пользователям обойти проверку, введя число в соседней ячейке, прежде чем выбрать вариант из раскрывающегося списка.
Введите следующее в качестве формулы проверки пользовательских данных для B2
:
=(A2="")*(B2="")+(A2="Fixed")*(B2=1)+(A2="Variable")*ISNUMBER(B2)
Убедитесь, что Ignore blank
оставлено непроверенным.
Предостережения:
К сожалению, это лучшее, что может быть достигнуто с помощью только проверки данных. Пользователи по-прежнему могут обойти проверку путем:
- Выберите
Variable
, введите номер, отличный от одного, в соседней ячейке, а затем выберитеFixed
- Вставить любое значение в ячейку
- Заполняя в клетку
- Ctrl-ввод любого значения в выбранном диапазоне, если соседняя ячейка является частью, но не активной ячейкой диапазона.
Единственный способ выполнить "надежную" проверку - использовать VBA.
Однако есть еще одна вещь, которую можно сделать без использования VBA. Вспомогательная ячейка или условное форматирование могут использоваться, чтобы предупредить пользователя о том, что данные недействительны, а затем поверить, что они исправят проблему.
Предположим, ячейка B2 = фиксированная или переменная, и вы пытаетесь установить проверку в соседней ячейке C2.
Добавьте приведенную ниже пользовательскую проверку для C2. Это только позволит C2 быть установленным в 1, если B2 "Fixed", или позволить C2 быть больше, чем 0, если B2 "Variable". Вы можете настроить второе условие AND, чтобы разрешить любые допустимые значения в C2, которые вам нужны:
= ИЛИ (И (В2 = "Fixed", С2 = 1), и (В2 = "Переменная", С2> 0))
Снимок экрана для формы пользовательских настроек проверки, как показано ниже: