Одной из самых мощных функций SeaTable является колонка формул . С помощью формул вы можете подсчитывать значения других колонок текущей таблицы – или даже другой связанной таблицы –, использовать их для вычислений, преобразовывать, оценивать, объединять друг с другом и сравнивать. Кроме того, формулы могут возвращать константы и логические значения.

Вы можете добавить любое количество колонок формул, которые, в свою очередь, продолжают вычисления с результатами уже существующих колонок формул. Большое преимущество: результаты в колонках формул обновляются автоматически, как только изменяются значения в задействованных колонках.

В настоящее время SeaTable предлагает следующие функции, если вы выберете тип колонки Формула:

  • Строки
  • Константы
  • Операнды
  • Математические функции
  • Текстовые функции
  • Функции даты
  • Логические функции
  • Статистические функции
  • Функции связывания

Редактор формул SeaTable со списком функций и примером

Помимо функций, в редакторе формул имеется один или несколько списков столбцов. Это доступные для выбора столбцы текущей таблицы и, при необходимости, столбцы связанных таблиц. Если щелкнуть на значке “+” справа, в поле ввода вставляется ссылка на столбец в формате {ColumnName} или {LinkColumn.ColumnName}. Вы можете использовать эти элементы непосредственно в своей формуле. В качестве альтернативы можно, конечно, ввести имена столбцов в фигурных скобках вручную.

В этой статье мы покажем вам полный обзор всех формул в SeaTable с подходящими примерами. Если вы ищете определенную функцию, вы можете использовать комбинацию клавиш Ctrl +F чтобы быстро найти запись на этой странице.

Оператор Описание Пример
rowID() Возвращает уникальный идентификационный номер текущей строки в виде строки. X18XAJeTSWeaO5hlqyUp1w
Оператор Описание Примеры
e Возвращает число Эйлера e=2.71828…. e+1
= 3.71828183
pi Возвращает число окружности Pi. pi
= 3.14159265
true() Возвращает логическое значение ’true'. true()
= true
false() Возвращает логическое значение ‘false’. false()
= false
Оператор Описание Примеры
add(num1, num2) Складывает два числовых значения (num1 и num2) и возвращает результат. add(1, 2)
= 3
Альтернатива: + 1+2
= 3
subtract(num1, num2) Вычитает одно числовое значение (num2) из другого (num1). subtract(5, 4)
= 1
Альтернатива: - 5-4
= 1
multiply(num1, num2) Перемножает два числовых значения. multiply(3, 4)
= 12
Альтернатива: * 3*4
= 12
divide(num1, num2) Делит одно числовое значение (num1) на другое (num2). divide(5, 2)
= 2.5
Альтернатива: / 3/2
= 1.5
mod(num1, num2) Вычисляет остаток от деления. mod(10, 7)
= 3
Альтернатива: % 15%7
= 1
power(num1, num2) Вычисляет мощность (num2) числа (num1). power(3, 2)
= 9
Альтернатива: ^ 3^2
= 9
greater(num1, num2) Проверяет, больше ли числовое значение (num1) другого (num2), и возвращает логическое значение ’true’ или ‘false’. greater(2, 3)
= false
Альтернатива: > 2>3
= false
lessthan(num1, num2) Проверяет, меньше ли числовое значение (num1) другого (num2), и возвращает логическое значение ’true’ или ‘false’. lessthan(2, 3)
= true
Alternativ: < 2<3
= true
greatereq(num1, num2) Проверяет, больше или равно числовое значение (num1) другому (num2), и возвращает логическое значение ’true’ или ‘false’. greatereq(2, 3)
= false
Альтернатива: >= 2>=3
= false
lessthaneq(num1, num2) Проверяет, меньше или равно ли числовое значение (num1) другому (num2), и возвращает логическое значение ’true’ или ‘false’. lessthaneq(2, 3)
= true
Alternativ: <= 2<=3
= true
equal(number1, number2) Проверяет, равны ли два значения (number1, number2), и возвращает логическое значение ’true’ или ‘false’. equal({Old price}, {New price})
= false
Альтернатива: = {Old price}={New price}
= false
unequal(number1, number2) Проверяет, являются ли два значения (number1, number2) неравными, и возвращает логическое значение ’true’ или ‘false’ в каждом случае. unequal({Old price}, {New price})
= true
Альтернатива: <> {Old price}<>{New price}
= true
concatenate(string1, string2, …) Конкатенирует несколько строк (string1, string 2, …) в одну строку. concatenate({Supplier}, " is ", {Status})
= Linux is great
Альтернатива: & {Supplier} & " is " & {Status}
= Linux is great
Оператор Описание Пример ввода Результат
abs(number) Возвращает абсолютное значение числа. abs(-2) 2
ceiling(number, significance) Округляет число до ближайшего целого числа или до ближайшего кратного заданному шагу (value). Если один из аргументов не является числовым, формула возвращает пустое значение. ceiling(2.14) 3
Если число точно кратно значению, то округление не производится. Если число и значение отрицательные, то округление происходит в сторону от 0. Если число отрицательное, а значение положительное, то округление происходит в сторону 0. ceiling(-2.14, 4) 0
even(number) Присваивает вещественному числу (digits) ближайшее большее четное число. even(2.14) 4
exp(number) Экспоненциальная функция для числа Эйлера e. Возвращает значение e, возведенное в степень заданного числа. exp(1) 2.71828…
floor(number, significance) Округляет число до ближайшего целого числа или до ближайшего кратного заданному шагу (value). Если один из аргументов не является числовым, формула возвращает пустое значение. floor(2.86) 2
Если число точно кратно значению, округление не производится. Если знак числа положительный, то округление происходит в сторону 0. Если знак числа отрицательный, то округление происходит в сторону от 0. floor(-3.14, 5) -5
int(number) Присваивает вещественному числу (number) ближайшее меньшее целое число. int(-3.14) -4
lg(number) Функция логарифма (number) с основанием 10. lg(100) 2
ln(number) Функция логарифма (number) с числом Эйлера e в качестве основания. ln(e) 1
log(number, base) Функция (number) логарифма с определяемым основанием. log(81, 3) 4
Однако если основание не указано, эта функция работает точно так же, как lg(), т.е. с основанием 10. log(1000) 3
odd(number) Присваивает вещественному числу (number) ближайшее большее нечетное число. odd(-2.14) -1
round(number, digits) Округляет число до заданного количества десятичных знаков (digits). Если десятичный знак (digits) не указан, число округляется до 1-го места слева от десятичной точки. round(3.14) 3
Если задана положительная десятичная дробь (digits), округляйте до цифры справа от десятичной точки. round(3.14, 1) 3.1
Если задан отрицательный десятичный знак (digits), округляется влево от десятичной точки. round(3.14, -3) 0
round(99.1, -2) 100
rounddown(number, digits) Округлите число в направлении нуля. Если десятичный знак (digits) не указан, число округляется до 1-го места слева от десятичной точки. rounddown(3.12, 1) 3.1
rounddown(-3.15) -3
roundup(number, digits) Округляет число в большую сторону от нуля. Если десятичный знак (digits) не указан, число округляется до 1-й цифры слева от десятичной точки. roundup(3.12, 1) 3.2
roundup(-3.15) -4
sign(number) Проверяет, является ли число больше, равно или меньше 0. Возвращает значение 1, 0 и -1 соответственно. Другими словами, он возвращает знак числа, соответственно для ‘+’, ‘ноль’ и ‘-’ с 1, 0 и -1. sign(-2) -1
sqrt(number) Возвращает квадратный корень из числа. sqrt(81) 9
sum(num1, num2, …) Возвращает сумму чисел (num1, num2, …). sum(7,8,9) 24
Оператор Описание Пример ввода Результат
concatenate(text1, text2, text3) Объединяет несколько строк (text1, text2, text3, …) в одну строку. concatenate(“Sea”, “Table”, " “, “Cloud”) SeaTable Cloud
Альтернатива: text1 & text2 & text3 “Sea” & “Table” & " " & “Cloud” SeaTable Cloud
exact(string1, string2) Проверяет, являются ли две строки (string1, string2) абсолютно идентичными. Возвращает значения ’true’ или ‘false’. Учитывается верхний/нижний регистр. exact(‘SeaTable’, ‘Seatable’) false
find(findString, sourceString, startPosition) Возвращает начальную позицию строки (findString) внутри другой строки (sourceString). Чувствительность к регистру. Без поиска возвращается 0. Если начальная позиция (startPosition) задана в десятичном виде, она округляется в меньшую сторону. Если ячейка в столбце для ключевого слова (findString) все еще пуста, возвращается 1. Если ячейка в столбце для целевой строки (sourceString) все еще пуста, возвращается пустое значение (’’). find(‘Sea’, ‘seaTable’, 1) 0
Поиск начнется с заданной ‘startPosition’. Однако это ‘startPosition’ не влияет на результат: он всегда возвращает абсолютную начальную позицию. Если ‘startPosition’ строки, которую нужно найти (findString), было задано после фактической начальной позиции строки (sourceString), возвращается 0, потому что с этой позиции ничего не было найдено. find(’table’, ‘big table’, 4) 5
find(’table’, ‘big table’, 6) 0
left(string, count) Возвращает заданное количество (count) символов в начале строки. left(‘SeaTable’, 3) Sea
len(string) Возвращает количество символов в строке. len(‘SeaTable’) 8
lower(string) Преобразует строку в строчные буквы. lower(‘DeutscH’) deutsch
mid(string, startPosition, count) Возвращает указанное количество (count) символов из строки, начиная с указанной начальной позиции (startPosition). mid(‘SeaTable is the best’, 1, 8) SeaTable
Начальная позиция (startPosition) и число (count) не должны быть пустыми, отрицательными или равными нулю. Однако, если startPosition и count заданы в десятичном виде, они округляются в меньшую сторону. Слишком большое заданное число (count) будет проигнорировано. mid(‘SeaTable is the best.’, 10.9, 27.3) is the best.
replace(sourceString, startPosition, count, newString) Заменяет часть (count) строки (sourceString) с определенной начальной позиции (startPosition) на другую строку (newString). Количество (count) символов учитывается только для старой строки (sourceString), но не для новой строки (newString). replace(‘SeaTable is the best.’, 1, 8, ‘Seafile’) Seafile is the best.
Если значение count равно нулю, то новая строка просто добавляется с начальной позиции в старой строке. replace(‘SeaTable is the best.’, 1, 0, ‘Seafile’) SeafileSeaTable is the best.
rept(string, number) Повторяет строку столько раз (number), сколько указано. rept(‘Sea ‘, 3) Sea Sea Sea
right(string, count) Возвращает заданное количество (count) символов в конце строки. right(‘SeaTable’, 5) Table
search(findString, sourceString, startPosition) Возвращает начальную позицию строки (findString) внутри другой строки (sourceString). Чувствительность случая не учитывается. Без поиска возвращается 0. Если начальная позиция (startPosition) задана в десятичном виде, она округляется в меньшую сторону. Если ячейка в столбце для ключевого слова (findString) все еще пуста, возвращается 1. Если ячейка в столбце для целевой строки (sourceString) все еще пуста, возвращается пустое значение (’’). search(‘Sea’, ‘seaTable’, 1) 1
Поиск начнется с заданной ‘startPosition’. Однако это ‘startPosition’ не влияет на результат: он всегда возвращает абсолютную начальную позицию. Если ‘startPosition’ строки, которую нужно найти (findString), было задано после фактической начальной позиции строки (sourceString), возвращается 0, потому что с этой позиции ничего не было найдено. search(’table’, ‘big table’, 4) 5
search(’table’, ‘big table’, 6) 0
substitute(sourceString, oldString, newString, index) Заменяет существующий текст (oldString) на новый текст (newString) в строке (sourceString). Если в строке (sourceString) имеется более одного текста (oldString), заменяется только ‘index’-ый текст. Чувствительность к регистру соблюдается. substitute(‘SeaTableTable’, ‘Table’, ‘file’, 1) SeafileTable
Если индекс указан как 0 или не указан, все найденные части текста (oldString) заменяются новым текстом (newString). substitute(‘SeaTableTable’, ‘Table’, ‘file’) Seafilefile
T(value) Проверяет, является ли значение текстом. Если да, то возвращается текст. Если нет, возвращаемое значение будет пустым. T(123) (пустой)
T(‘123’) 123
text(number, format) Преобразует число в текст и форматирует его в заданном формате. Формат может быть процент (‘percent’) и число, доллар (‘dollar’), евро (’euro’) и юань (‘yuan’). text(150, ’euro’) €150
При прямом преобразовании числа в проценты его абсолютное значение сохраняется. То есть, 50 конвертируется в 5000%. Однако если вы хотите получить 50%, вам все равно придется разделить число на 100 перед преобразованием. text(50, ‘percent’) 5000%
text(50/100, ‘percent’) 50%
trim(string) Удаляет пробелы в начале и конце строки. trim(’ SeaTable ‘) SeaTable
upper(string) Преобразует строку в буквы верхнего регистра. upper(‘DeutscH’) DEUTSCH
value(string) Преобразует текст (string), представляющий число, в число. value(‘123’) 123
Оператор Описание Пример ввода Результат
date(year, month, day) Возвращает дату в международном формате (ISO) из введенных года, месяца и дня. Если год вводится с двумя цифрами, он автоматически понимается как год в 1900-х годах. Если номер месяца или дня слишком большой (больше 12 или 31 соответственно), то эти месяцы или дни автоматически переводятся в следующий год или месяц. date(2021, 1, 3) 2021-01-03
+ Добавляет дни или продолжительность к дате с минутами или без них. Если в столбце даты нет минут, в качестве значения по умолчанию принимается 00:00 этого дня. date(2021, 1, 31)+1 2021-02-01
Например, если в колонке введена продолжительность 8 часов 20 минут {продолжительность} имеет: date(2021, 1, 31)+{длительность} 2021-01-31 08:20
- Вычитает дни или продолжительность из даты с минутами или без них. Если в столбце даты нет минут, то 00:00 принимается за значение по умолчанию для этого дня. date(2021, 1, 31) - 30 2021-01-01
Например, если в колонке введена продолжительность 8 часов 20 минут {продолжительность} имеет: date(2021, 1, 31)-{длительность} 2021-01-30 15:40
При использовании {Date1}-{Date2} возвращается разница во времени в днях. date(2021, 1, 31)-date(2020, 12, 23) 39
dateAdd(date, count, unit) Добавляет указанное количество (count) лет (‘years’), месяцев (‘months’), недель (‘weeks’), дней (‘days’), часов (‘hours’), минут (‘minutes’) или секунд (‘seconds’) к дате/времени (date). dateAdd(‘2020-02-03’, 2, ‘days’) 2020-02-05
Совет: если вы хотите добавить сложную продолжительность (count), например, 1 день 12 часов, вы можете преобразовать ее, например, в 24+12=36 часов и ввести в формулу как одну продолжительность (count). Переведите продолжительность в наименьшую единицу измерения: в данном случае в часы. dateAdd(‘2020-09-04 13:05:18’, 36, ‘hours’) ИЛИ dateAdd({form submission}, 36, ‘hours’) 2020-09-06 01:05:18
dateDif(startDate, endDate, unit) Вычисляет секунды, дни, месяцы или годы между двумя значениями даты. Необязательный аргумент единицы измерения может быть одним из следующих: S (секунды), D (полные дни), M (полные месяцы), Y (полные годы), YD (полные дни, без учета лет), YM (полные месяцы, без учета дней и лет), MD (полные дни, без учета месяцев и лет). dateDif(‘2018-01-01’, ‘2020-01-01’, ‘Y’) 2
Необязательный аргумент единицы измерения может быть одним из следующих: S (секунды), D (полные дни), M (полные месяцы), Y (полные годы), YD (полные дни, без учета лет), YM (полные месяцы, без учета дней и лет), MD (полные дни, без учета месяцев и лет). dateDif(‘2019-10-11’, ‘2020-12-12’, ‘M’) 14
datetimeFormat(date, format) Преобразует значение колонки даты в строку. С помощью заполнителей (format) месяц, день, час, минуту и секунду можно вывести в нужном формате. datetimeFormat(“2020-01-01”, “MM/DD/YYYY”) 01/01/2020
Совет: если вставить заполнитель MMMM, полное название месяца будет отображаться прописью. datetimeFormat({Birthday}, “D MMMM YYYY”) 6 November 1972
day(date) Возвращает день даты в виде числа. Возвращаемое число находится в диапазоне от 1 до 31. day(‘2020-01-03’) 3
days(startDate, endDate) Возвращает количество дней между двумя значениями даты (начальная дата и конечная дата). days(‘2020-01-01’, ‘2020-02-03’) 33
eomonth(startDate, months) Определяет дату последнего дня месяца, который является указанным количеством (months) месяцев после указанной даты (startDate). Если число (months) задано как 0, то просто определяется последний день месяца. eomonth(‘2020-01-01’, 1) 2020-02-29
Если число (months) задано отрицательным, определяется дата последнего дня месяца, который содержит абсолютное число (months) месяцев до указанной даты (startDate). eomonth(‘2020-01-01’, -1) 2019-12-31
hour(date) Возвращает час времени (date) в виде числа. Возвращаемое число находится в диапазоне от 0 до 23. hour(‘2020-02-14 13:14:52’) 13
Если во времени (date) нет часа, возвращается 0. hour(‘2020-02-14’) 0
hours(startDate, endDate) Возвращает количество часов между двумя значениями даты (начальная дата и конечная дата). Минуты в значениях даты не учитываются. hours(‘2020-02-14 13:14’, ‘2020-02-14 15:14’) 2
Если в спецификации времени (дата начала или дата окончания) не указаны часы, автоматически предполагается 0 часов в этот день. hours(‘2020-02-14’, ‘2020-02-14 15:14’) 15
minute(date) Возвращает минуты времени (date) в виде числа. Возвращаемое число находится в диапазоне от 0 до 59. minute(‘2020-02-14 13:14:52’) 14
Если во времени (date) нет минут, возвращается 0. minute(‘2020-02-14’) 0
month(date) Возвращает месяц даты в виде числа. Возвращаемое число находится в диапазоне от 1 (январь) до 12 (декабрь). month(‘2020-02-14 13:14:52’) 2
months(startDate, endDate) Возвращает количество месяцев между двумя значениями даты (начальная дата и конечная дата). Дни и время в значениях даты не учитываются. months(‘2020-02-01 13:14’, ‘2020-03-31 15:54’) 1
Если в значениях дат (startDate, endDate) не указан месяц, в качестве месяца автоматически принимается январь. months(‘2020’, ‘2021’) 12
networkdays(startDate, endDate, holiday1, holiday2, …) Возвращает количество целых рабочих дней между двумя значениями даты (начальная дата и конечная дата). Вы также можете определить праздники, отличные от субботы и воскресенья (holiday1, holiday2 и т.д.), они также будут вычитаться. Если в расчет не нужно включать праздничные дни, эти параметры можно просто опустить. networkdays(‘2020-01-01’, ‘2020-01-07’,‘2020-01-01’) 4
Обратите внимание, что указанный последний день (endDate) также учитывается в формуле. То есть, например, в данной формуле учитываются три рабочих дня: 7, 8 и 9 сентября 2020 года. networkdays(‘2020-09-07’, ‘2020-09-09’) 3
now() Возвращает текущую дату и время. Эта колонка обновляется автоматически только после перезагрузки базы. now() 2020-09-07 12:59
second(date) Возвращает секунды времени (date) в виде числа. Возвращаемое число находится в диапазоне от 0 до 59. second(‘2020-02-14 13:14:52’) 52
today() Возвращает текущую дату. Эта колонка обновляется автоматически только после перезагрузки базы. today() 2020-09-07
Эта функция удобна для расчета продолжительности времени между определенной датой и временем и настоящим моментом. При каждой перезагрузке или пересчете базы расчет обновляется. networkdays(‘2020-09-01’, today()) 4
weekday(date, weekStart) Возвращает день недели даты в виде числа. Возвращаемое число - от 1 до 7. Вы можете определить первый день недели (weekStart): Понедельник (‘Monday’) или Воскресенье (‘Sunday’ или опустить, так как по умолчанию начало в воскресенье). Третий вариант невозможен. Верхний/нижний регистр не учитывается. weekday(‘2020-01-01’, ‘Monday’) 3
Если “начало недели” не указано или если указано “начало недели”, отличное от “понедельника” или “воскресенья”, всегда предполагается, что это “воскресенье”. Поэтому, если это должен быть “понедельник”, введите “понедельник”; если это должно быть “воскресенье”, вы можете опустить этот параметр. weekday(‘2020-01-01’, ‘Thursday’) ИЛИ weekday(‘2020-01-01’) 4
weeknum(date, return_type) Возвращает абсолютный номер недели даты в виде числа. Возвращаемое число находится в диапазоне от 1 до 53. Здесь вы можете определить первый день недели (return_type). Введите число 1 или 2, или от 11 до 17, и 21 в качестве “return_type”, чтобы определить начало недели: 1/воскресенье, 2/понедельник, 11/понедельник, 12/вторник, 13/среда, 14/четверг, 15/пятница, 16/суббота, 17/воскресенье. Если необходимо вернуть номер недели в соответствии со стандартом ISO, укажите в качестве “return_type” число 21 или используйте функцию isoweeknum. weeknum(‘2020-01-12’, 11) 2
Если не указан тип ‘return_type’, всегда предполагается, что это ‘Sunday’. weeknum(‘2020-01-12’) 3
isoweeknum(date) Возвращает номер недели ISO (KW) даты в виде числа. isoweeknum(‘2021-01-04’) 1
Отличие от функции weeknum(): с помощью функции isoweeknum() вы иногда также получаете номер недели, который все еще находится в предыдущем году. В данном примере: 1 января 2021 года относится к 53-й календарной неделе 2020 года в соответствии со стандартом ISO. isoweeknum(‘2021-01-01’) 53
year(date) Возвращает год даты в виде числа. year(‘2020-01-01’) 2020
Оператор Описание Пример ввода Результат
and(logical1, logical2, …) Проверяет, все ли аргументы (logical1, logical2, …) являются истинными (действительными, непустыми и ненулевыми). Если да, то возвращается ’true’, иначе ‘false’. and(1, ‘’, 2) false
if(logical, value1, value2) Проверяет, является ли аргумент (logical) истинным, и если да, возвращает первое значение (value1), а если нет, возвращает второе значение (value2). Внимание: два значения (value1 и value2) должны быть одного типа, например, оба должны быть строкой или числом. В противном случае первый результат определит тип столбца, а там, где он должен добавить второе значение, будет заполнено пустое значение. if(1>2, 3, 4) 4
Для условия (logical) допускается только сравнение с. Если вы введете только условие (logical) и первое значение (value1): оно вернет первое значение (value1), если условие (logical) истинно; и вернет пустое значение (’’), если условие (logical) ложно. if({Budget}>{Price}, ‘Yes’) Да
ifs(logical1, value1, logical2, value2, …) Проверяет, выполняется ли одно или несколько условий (logical1, logical2, …), и возвращает значение (value1, value2, …), соответствующее первому условию TRUE. По возможности старайтесь указывать все возвращаемые значения (value1, value2) одного типа (либо все «string», либо все «number»), например, в ifs({Area}=0,«mini»,{Area}<=100,” small«,{Area}1000,»large«), результат всегда будет „string“, или в примере справа результат всегда будет »number". Однако, если вы указали число как строку, функция ifs также будет работать, но в этом случае сумма для этой колонки больше не будет рассчитываться автоматически, так как она будет восприниматься как строка. ifs( 1>2, 3, 5>4, 9) 9
isempty(“columnname”) Проверяет, пуста ли ячейка в указанной колонке. Если она пуста, возвращается ’true’; если не пуста, ‘false’. isempty(“Calendar Event ID”) true
iserror(value) Проверяет, является ли аргумент значением ошибки. Если да, возвращает ’true’; если нет, ‘false’. iserror("#VALUE!") true
not(boolean) Меняет логическое значение (boolean). Другими словами: преобразует ’true’ в ‘false’ и ‘false’ в ’true’. not(and(1, ‘’, 2)) true
or(logical1, logical2, …) Проверяет, является ли хотя бы 1 из аргументов (value1, value2, …) истинным (действительным, непустым и ненулевым) и в этом случае возвращает ’true’. Если все аргументы ложны, то возвращается ‘false’. or(1, ‘’, 2) true
switch(logical, matcher1, value1, matcher2, value2, …, default) Оценивает выражение (logical) против списка значений (matcher) и возвращает результат (value), который соответствует первому совпадающему значению. Если совпадения нет, то возвращается необязательное значение по умолчанию. Должны быть указаны как минимум 3 параметра (logical, matcher, value). switch(weekday(“2000-01-01”), 1, “Sunday”, 2, “Monday”, 3, “Tuesday”, 4, “Wednesday”, 5, “Thursday”, 6, “Friday”, 7, “Saturday”, “no match”) Saturday
Если в списке значений (matcher) есть несколько одинаковых значений, учитывается только первое совпадение. switch(int(68/10), 6, ‘OK’, 6, ‘KO’) OK
xor(logical1, logical2, …) Возвращает контравалентность всех аргументов. Другими словами: Проверяет, является ли количество истинных аргументов (logical) нечетным, и возвращает значение ’true’. xor(1, 0, 2<1, 1) false
Оператор Описание Примеры
average(number1, number2, …) Возвращает среднее значение чисел (number1, number2, …). average(1, 2, 3, 4, 5)
= 3
count(number1, number2, …) Возвращает количество чисел (number1, number2, …). Учитываются только действительные и непустые числа. В этом примере ’’ - пустое значение, а “3” - не число, а текст. count(1, '', 2, '3')
= 2
counta(textORnumber1, textORnumber2, …) Подсчитывает количество непустых ячеек (textORnumber1, textORnumber2, …). В этих ячейках может быть текст или число. В данном примере 1 и 2 - это числа, ‘3’ - текст, а ’’ - пустое значение. counta(1, '', 2, '3')
= 3
countall(textORnumber1, textORnumber2, …) Подсчитывает количество элементов (textORnumber1, textORnumber2, …), включая числа (1, 2), текст (‘3’) и пустые ячейки (’’). countall(1, '', 2, '3')
= 4
countblank(textORnumber1, textORnumber2, …) Подсчитывает количество пустых ячеек. countall(1, '', 2, '3')
= 1
countItems(“column-name”) Подсчитывает количество элементов в ячейке. Поддерживаемые типы столбцов: множественный выбор, сотрудник, файл и изображение. countItems("members")
= 6
max(number1, number2, …) Возвращает наибольшее значение из указанных чисел (number1, number2, …). max(-1, 3, 4, 2, -1)
= 4
min(number1, number2, …) Возвращает наименьшее значение из указанных чисел (number1, number2, …). min(-1, 3, 4, 2, -1)
= -1
large(num1, num2, …, k) Возвращает k-большее значение из списка чисел (num1, num2, …). В данном примере: large(35, 92, 10, 2) возвращает 2-самое большое значение из (35, 92, 10), которое равно 35. large(35, 92, 10, 2)
= 35
small(num1, num2, …, k) Возвращает k-меньшее значение из списка чисел (num1, num2, …). В данном примере: small(9, 2, -7, -3, 3) возвращает 3 наименьшее значение из (9, 2, -7, -3), которое равно 2. small(9, 2, -7, -3, 3)
= 2

Функции ссылок можно использовать здесь в виде формулы или задать их непосредственно с помощью колонки Формула связи.

Оператор Описание Примеры
countlinks(“Column”, [condition]) Подсчитывает связанные записи в заданном столбце ссылок (Column). Записи можно отфильтровать с помощью необязательного параметра condition([condition]). В примере: В текущей таблице есть связующая колонка “Speakers”. В одной из его ячеек находится несколько связанных записей. Теперь мы хотим подсчитать, сколько ссылок есть в каждой ячейке, где “Price” в связанной записи больше 500. countlinks("Speakers", "{Price}>500")
= 3
(Количество записей, связанных с колонкой “Speakers”, где “Price” больше 500).
rollup(“Column”, “Other column”, summary, [condition]) Возвращает оцененное значение связанных записей в других таблицах. При связывании из столбца “Column” оцениваются записи в столбце “Other column” в связанной таблице. Можно использовать следующие методы подведения итогов (“summary”): ‘average’, ‘concatenate’, ‘count’, ‘max’, ‘min’ и ‘sum’. По желанию можно применить условия фильтрации. В примере: В текущей таблице есть колонка ‘Speakers’, которая связана с другой таблицей. Поскольку каждый “Speaker” связан с несколькими записями, мы хотим выяснить, при “Price” меньше 500, какова наибольшая “Power” для каждого “Speaker”. rollup("Speakers", "Power", "max", "{Price} < 500")
= 80
(Наибольшее значение из записей, связанных с колонкой “Speakers” в “Power”, где “Price” меньше 500).
lookup(findmax(“Column”, “Other column”), “Target”) Ищет наибольшее значение в связанном столбце (“Other column”) и возвращает значение в той же строке из другого столбца (“Target”). Укажите, какой связывающий столбец (“Column”) и какой связанный столбец (“Other column”) и целевой столбец (“Target”) будут использоваться. В примере: В текущей таблице есть колонка “Speakers”, которая связана с другой таблицей. Поскольку каждый “Speaker” связан с несколькими записями, мы хотим выяснить, какую “Price” имеет каждый “Speaker” за свою самую большую “Power”. lookup(findmax("Speakers", "Power"), "Price")
= 350
(Возвращает наибольшее значение “Price” в “Power”, связанное с колонкой “Speakers”).
lookup(findmin(“Column”, “Other column”), “Target”) Ищет наименьшее значение в связанном столбце (“Other column”) и возвращает значение в той же строке из другого столбца (“Target”). Укажите, какой связывающий столбец (“Column”) и какой связанный столбец (“Other column”) и целевой столбец (“Target”) будут использоваться. В примере: В текущей таблице есть колонка “Speakers”, которая связана с другой таблицей. Поскольку каждый “Speaker” связан с несколькими записями, мы хотим выяснить, какую “Price” имеет каждый “Speaker” за свою наименьшую “Power”. lookup(findmin("Speakers", "Power"), "Price")
= 210
(“Price” наименьшего значения в “Power”, связанного с колонкой “Speakers”).