При обработке заказов, хранящихся в списке SharePoint, использовались статусы 'Новый', 'В работе', 'Выполнен', 'Прекращен'. Требовалось создать сортировку, при которой сначала выводились бы заказы со статусом 'Новый', потом 'В работе', 'Выполнен' и 'Прекращен'. Сортировка по алфавиту не подходила.

Реализацию планировал сделать без использования серверного кода, благо вариантов для реализации видел несколько. Но остановился на том, который был мне проще.

Для создания сортировки решил создать поле, в котором статус имел бы впереди некий индекс, по которому осуществлялась бы сортировка, например, '1. Новый', '2. В работе', '3. Выполнен', '4. Прекращен', чтобы по этому полю и сделать сортировку.

Для этого нужно создать в списке столбец типы "Вычисляемый по другим столбцам" и написать формулу. Идеально для решения подходит вариант, в котором можно было бы написать условия, по аналогии с оператором switch ... case. Ниже пример кода на Javascript.

 

Но только формулы SharePoint, они же как минимум на 90% формулы из MS Excel, не имеют такого оператора switch ... case. Чаще всего в Excel я использую формулу "СЦЕПИТЬ", для генерации SQL запросов. Но тут пришлось подумать про использование условий.

Формула ЕСЛИ в Excel для русской локации имеет такой формат:

ЕСЛИ(выражение истинно; то сделать это; иначе сделать это)

Т.е. для реализации конструкции switch ... case нужно написать каскад вложенных операторов ЕСЛИ.
Ниже запись формуля для SharePoint. 'Статус' - это название столбца.

 

 

А вот так будет запись для Excel:

 
Для записи подобных формул лично я пользуюсь редактором Notepad++, после чего копирую текст в буффер и вставляю в окно формул в Excel или SharePoint.