Вот альтернативное (лучшее) решение.
Он позволяет вводить любое число, когда Variable
оно выбрано, и, что более важно, он не позволяет пользователям обходить проверку, вводя число в соседней ячейке, прежде чем выбрать вариант из раскрывающегося списка.
Введите следующее в качестве формулы проверки пользовательских данных для B2
:
=(A2="")*(B2="")+(A2="Fixed")*(B2=1)+(A2="Variable")*ISNUMBER(B2)
Убедитесь, что Ignore blank
это не проверено.
Предостережения:
К сожалению, это лучшее, что может быть достигнуто с помощью только проверки данных. Пользователи по-прежнему могут обойти проверку путем:
- Выберите
Variable
, введите число, отличное от одного, в соседней ячейке, а затем выберитеFixed
- Вставить любое значение в ячейку
- Заполняя в клетку
- Ctrl-ввод любого значения в выбранном диапазоне, если соседняя ячейка является частью, но не активной ячейкой диапазона.
Только способ сделать «надежной» проверки является использование VBA.
Однако есть еще одна вещь, которую можно сделать без использования VBA. Вспомогательная ячейка или условное форматирование могут использоваться, чтобы предупредить пользователя о том, что данные недействительны, а затем поверить, что они исправят проблему.