Как настроить проверку данных, чтобы разрешить только дату или определенную строку в SharePoint 2013

Как настроить проверку данных, чтобы разрешить только дату или определенную строку в SharePoint 2013

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

решение1

Я бы рекомендовал использовать два столбца и изменить представление по умолчанию. Мы можем настроить список так, чтобы пользователь мог ввести дату или не вводить ее. Когда мы просматриваем список (не редактируем), если пользователь ввел дату, то мы увидим дату. Если пользователь не ввел дату, то мы увидим просто текст "TBD".

Шаг 1: Создайте свои колонки

  • столбец 1: необязательное поле DateTime типа «Только дата»
  • Столбец 2: вычисляемый столбец с использованием следующей формулы:

    =ЕСЛИ(столбец1="","TBD",ТЕКСТ(столбец1,"дд мм гггг"))

В этой формуле column1 — это имя вашего первого столбца DateTime. Кроме того, формат даты в конце проверки можно изменить в соответствии с вашими региональными требованиями (например, "mm dd yyy").

Для столбца 2 также обязательно установите «тип данных, возвращаемых этой формулой» на «Одна строка текста».

Шаг 2: Измените свой вид списка

После настройки обоих столбцов вам следует изменить текущее представление по умолчанию, скрыв столбец 1 из этого представления. После того, как вы это сделаете, вы увидите, что при просмотре списка (не при редактировании) будет отображаться только вычисляемый столбец с введенной датой или "TBD". Однако, когда вы перейдете к редактированию элемента, вы сможете ввести дату с помощью встроенного элемента управления календарем или просто оставить поле пустым.

решение2

Вы можете добавить ниже проверку столбцов для вашего однострочного текстового поля. Дата — это буквенно-цифровой формат, он может быть 12/10/2017илиd5/df/2df3

=IF(YourFieldName="TBD",TRUE,(AND(NOT(ISERROR(SEARCH("??/??/????",YourFieldName,1))),LEN(YourFieldName)=10)))

Связанный контент