XLSX: Работа с формулами на странице XLSX-документа
В этом разделе
UI-контрол
WebSpreadsheetEditorControlJS позволяет работать (просматривать, добавлять, редактировать и удалять) с формулами ячеек на листе XLSX-документа в веб-браузере.
Формулы можно изменять вручную с помощью мыши/клавиатуры или программным способом.
Добавление формулы в выделенную ячейку на листе XLSX-документа.
Если вы хотите добавить формулу в выделенную ячейку на листе XLSX-документа с помощью мыши, выполните следующие действия:
- Нажмите на ячейку, в которую необходимо добавить формулу.
- Нажмите на вкладку "Insert" в UI-контроле WebSpreadsheetDocumentEditorControlJS.
- Нажмите кнопку "Insert function". Откроется диалоговое окно "Insert function". Выберите нужную формулу из списка формул и нажмите кнопку "OK". Диалоговое окно закроется, и текст формулы (например, "=SUM()") будет добавлен в выделенную ячейку.
Вот JavaScript код, который демонстрирует, как добавить формулу в выделенную ячейку на листе XLSX-документа:
// _spreadsheetDocumentEditorControl is an instance of WebSpreadsheetDocumentEditorControlJS class
// get spreadsheet editor
var spreadsheetEditorControl = _spreadsheetDocumentEditorControl.get_SpreadsheetEditorControl();
var formula = "ABS(A1)+SUM(B2,B3)";
// add formula to the focused cell
spreadsheetEditorControl.insertFormulaInFocusedCell(formula);
// result formula value: "=ABS(A1)+SUM(B2,B3)"
Программное изменение формулы выделенной ячейки.
Вот JavaScript код, который демонстрирует, как изменить формулу выделенной ячейки на листе XLSX-документа:
// _spreadsheetDocumentEditorControl is an instance of WebSpreadsheetDocumentEditorControlJS class
// get the spreadsheet editor
var spreadsheetEditorControl = _spreadsheetDocumentEditorControl.get_SpreadsheetEditorControl();
// get value or formula of focused cell
var cellValue = spreadsheetEditorControl.get_FocusedCellValue();
// set value or formula of focused cell
spreadsheetEditorControl.set_FocusedCellValue("0");
Редактирование формулы выделенной ячейки с помощью мыши и клавиатуры.
Вы можете отредактировать формулу выделенной ячейки с помощью текстового поля на панели формул (внешний редактор) либо с помощью текстового поля в области ячейки (внутренний редактор).
Если вы хотите создать формулу, которая ссылается на другую ячейку, выполните следующие действия:
- Начните редактирование значения ячейки.
- Введите символ "=" в значение ячейки.
- Щёлкните по ячейке, на которую должна быть ссылка, и её адрес будет добавлен в формулу.
Если вы хотите создать формулу, которая использует значения нескольких ячеек, выполните следующие действия:
- Начните редактирование значения ячейки.
- Введите символ "=" в значение ячейки.
- Введите название формулы (например, "SUM") в значение ячейки.
- Введите символ "(" в значение ячейки.
- Нажмите клавишу "Ctrl" и щёлкните по ячейкам, значения которых вы хотите использовать в формуле, и их адреса будут добавлены в формулу.
Если вы хотите посмотреть ячейки, которые используются в формуле, выполните следующие действия:
- Начните редактирование значения ячейки.
- Ячейки, используемые в формуле, будут выделены синим цветом.
- Ячейка, на которую указывает курсор ввода, будет выделена красным цветом.
- Диапазон адресов ячеек, на которые указывает курсор ввода, будет выделен красным цветом.
Удаление формулы выделенной ячейки на листе XLSX-документа.
Если вы хотите удалить формулу выделенной ячейки на листе XLSX-документа с помощью мыши, выполните следующие действия:
- Нажмите на ячейку, формулу которой требуется удалить.
- Щёлкните правой кнопкой мыши по выделенной ячейке и выберите пункт "Clear Contents" в контекстном меню.
Вот JavaScript код, который демонстрирует, как удалить формулу выделенной ячейки на листе XLSX-документа:
// _spreadsheetDocumentEditorControl is an instance of WebSpreadsheetDocumentEditorControlJS class
// get spreadsheet editor
var spreadsheetEditorControl = _spreadsheetDocumentEditorControl.get_SpreadsheetEditorControl();
// clear contents (value and formula) of selected cells
spreadsheetEditorControl.clearCellsContent();
Список поддерживаемых формул.
Список поддерживаемых формул "Date and Time" (дата и время):
- DATE - вычисляет порядковый номер даты и времени для заданной даты.
- DATEDIF - вычисляет количество дней, месяцев или лет между двумя датами.
- DATEVALUE - вычисляет порядковый номер даты и времени для даты, представленной строкой "date-time-string", с учётом текущей системы дат.
- DAY - вычисляет день месяца по григорианскому календарю для даты и/или времени с заданным значением даты, с учётом текущей системы дат.
- DAYS360 - вычисляет количество полных дней между двумя датами на основе 360-дневного года (двенадцать 30-дневных месяцев).
- EDATE - вычисляет порядковый номер даты и времени для даты, которая следует на "month-offset" месяцев вперёд от даты, указанной в строке "date-string", с учётом текущей системы дат.
- EOMONTH - вычисляет порядковый номер даты и времени последнего дня месяца, который следует на "month-offset" месяцев вперёд от даты, указанной в "start-date", с учётом текущей системы дат.
- HOUR - вычисляет час для даты и/или времени с заданным значением времени.
- MINUTE - вычисляет минуту для даты и/или времени с заданным значением времени.
- MONTH - вычисляет номер месяца по григорианскому календарю для даты и/или времени с заданным значением даты, с учётом текущей системы дат.
- NETWORKDAYS - вычисляет количество целых рабочих дней между "start-date" и "end-date".
- NETWORKDAYS.INTL - вычисляет номер месяца по григорианскому календарю для даты и/или времени с заданным значением даты, с учётом текущей системы дат.
- NOW - вычисляет порядковый номер даты и времени текущего момента, с учётом текущей системы дат.
- SECOND - вычисляет секунду для даты и/или времени с заданным значением времени.
- TIME - вычисляет порядковый номер даты и времени для заданного времени.
- TIMEVALUE - вычисляет порядковый номер даты и времени для времени, представленного строкой "date-time-string".
- TODAY - вычисляет порядковый номер даты-времени текущего дня, с учётом текущей системы дат.
- WEEKDAY - вычисляет номер дня недели для даты с заданным порядковым номером, с учётом текущей системы дат и флага "weekday-start-flag" (если поставлен).
- WEEKNUM - вычисляет номер недели для даты, соответствующей "serial-value".
- WORKDAY - вычисляет порядковый номер даты и времени для даты, которая следует на "day-offset" рабочих дней вперёд от "start-date".
- WORKDAY.INTL - вычисляет порядковый номер даты и времени для даты, которая следует на "day-offset" рабочих дней от "start-date".
- YEAR - вычисляет год по григорианскому календарю для даты и/или времени с заданным значением даты, с учётом текущей системы дат.
- YEARFRAC - вычисляет дробную часть года, представленную количеством целых дней между датами "start-date" и "end-date"; в соответствии с указанным базисом.
Список поддерживаемых формул "Engineering" (инженерные):
- BIN2DEC - переводит двоичное число в десятичное.
- BIN2HEX - переводит двоичное число в шестнадцатеричное (в верхнем регистре) с указанным количеством разрядов "num-hex-digits".
- BIN2OCT - переводит двоичное число в восьмеричное с указанным количеством разрядов "num-oct-digits".
- DEC2BIN - переводит десятичное число в двоичное с указанным количеством разрядов "num-bin-digits".
- DEC2HEX - переводит десятичное число в шестнадцатеричное с указанным количеством разрядов "num-hex-digits".
- DEC2OCT - переводит десятичное число в восьмеричное с указанным количеством разрядов "num-oct-digits".
- DELTA - сравнивает два числа на равенство.
- GESTEP - проверяет, больше или равно значение "number" значению "step".
- HEX2BIN - переводит шестнадцатеричное число в двоичное с указанным количеством разрядов "num-bin-digits".
- HEX2DEC - переводит шестнадцатеричное число в десятичное.
- HEX2OCT - переводит шестнадцатеричное число в восьмеричное с указанным количеством разрядов "num-oct-digits".
- OCT2BIN - переводит восьмеричное число в двоичное с указанным количеством разрядов "num-bin-digits".
- OCT2DEC - переводит восьмеричное число в десятичное.
- OCT2HEX - переводит восьмеричное число в шестнадцатеричное с указанным количеством разрядов "num-hex-digits".
Список поддерживаемых формул "Financial" (финансовые):
- CUMIPMT - вычисляет нарастающую сумму уплаченных процентов по ссуде за период между "start-period" и "end-period".
- FV - вычисляет будущую стоимость инвестиции с учётом периодических постоянных платежей и постоянной процентной ставки.
- IPMT - вычисляет платёж по процентам за данный период для инвестиции с учётом периодических постоянных платежей и постоянной процентной ставки.
- PMT - вычисляет платёж по ссуде с учётом постоянных платежей и постоянной процентной ставки.
- PPMT - вычисляет платёж по основной сумме за данный период для инвестиции с учётом периодических постоянных платежей и постоянной процентной ставки.
Список поддерживаемых формул "Information" (информационные):
- CELL - возвращает информацию о форматировании, расположении или содержимом верхней левой ячейки, указанной в ссылке.
- ISBLANK - проверяет, ссылается ли значение на пустую ячейку.
- ISERR - проверяет, является ли значение любым из значений ошибок, кроме #N/A.
- ISERROR - проверяет, является ли значение любым из значений ошибок.
- ISEVEN - проверяет, является ли значение чётным числом или ссылкой на ячейку, содержащую чётное число.
- ISLOGICAL - проверяет, является ли значение логическим значением или содержит ссылку на ячейку, содержащую логическое значение.
- ISNA - проверяет, является ли значение ошибкой #N/A.
- ISNUMBER - проверяет, содержит ли значение число или ссылку на ячейку, содержащую число.
- ISODD - проверяет, является ли значение нечётным числом или ссылкой на ячейку, содержащую нечётное число.
- NA - возвращает ошибку #N/A.
Список поддерживаемых формул "Logical" (логические):
- AND - проверяет, являются ли все аргументы в списке аргументов ИСТИНОЙ (TRUE). Функция вычисляет все аргументы перед возвратом значения.
- FALSE - возвращает значение ЛОЖЬ (FALSE).
- IF - проверяет "logical-value", и если оно ИСТИНА (TRUE), то вычисляется и возвращается "value-if-true"; иначе вычисляется и возвращается "value-if-false".
- IFERROR - предоставляет более простой и эффективный способ выявления и обработки ошибок.
- NOT - вычисляет логическое отрицание "logical-value".
- OR - проверяет, является ли хотя бы один или несколько аргументов в списке аргументов ИСТИНОЙ (TRUE).
- TRUE - возвращает значение ИСТИНА (TRUE).
Список поддерживаемых формул "Lookup and Reference" (ссылки и поиск):
- ADDRESS - создаёт адрес ячейки, задавая указанные номера строки и столбца.
- AREAS - находит количество областей, обозначенных ссылкой.
- CHOOSE - выбирает аргумент из списка аргументов, соответствующий по позиции индексу.
- COLUMN - находит номер столбца(ов), соответствующего ссылке.
- COLUMNS - находит количество столбцов, соответствующих массиву.
- HYPERLINK - создаёт ярлык, который открывает документ, хранящийся на сетевом сервере, в интрасети или в интернете.
- INDEX - находит значение или ссылку на значение внутри таблицы или диапазона.
- INDIRECT - находит ссылку, указанную "ref-text", и вычисляет эту ссылку, чтобы получить её базовое значение.
- LOOKUP - векторная форма ищет значение в векторе и возвращает значение из той же позиции во втором векторе.
- MATCH - находит относительную позицию элемента массива, который соответствует заданному значению в заданном порядке.
- OFFSET - получает ссылку на диапазон, который находится на определённое количество строк и столбцов от ячейки или диапазона ячеек.
- ROW - находит номер строки(ок), соответствующей ссылке.
- ROWS - находит количество строк, соответствующих массиву.
- VLOOKUP - выполняет вертикальный поиск значения в крайнем левом столбце таблицы или массива, отмечая строку, в которой найдено совпадающее значение.
Список поддерживаемых формул "Math and Trigonometry" (математические и тригонометрические):
- ABS - вычисляет абсолютное значение x.
- ACOS - вычисляет арккосинус x.
- ACOSH - вычисляет обратный гиперболический косинус x.
- ASIN - вычисляет арксинус x
- ASINH - вычисляет обратный гиперболический синус x.
- ATAN - вычисляет арктангенс x.
- ATAN2 - вычисляет арктангенс координат x и y.
- ATANH - вычисляет обратный гиперболический тангенс x
- CEILING - вычисляет значение, которое является округленным вверх (от нуля) x до ближайшего кратного значимости.
- COMBIN - вычисляет количество возможных групп размера "number-chosen", которые могут быть сформированы из объектов "number".
- COS - вычисляет косинус x.
- COSH - вычисляет гиперболический косинус x.
- DEGREES - преобразует угол в радианах в градусы.
- ECMA.CEILING - вычисляет значение, которое является округленным вверх (от нуля) x до ближайшего кратного значимости.
- EVEN - вычисляет x, округленное до ближайшего чётного целого числа (от нуля).
- EXP - вычисляет e^x, где константа e является основанием натурального логарифма.
- FACT - вычисляет факториал x.
- FACTDOUBLE - вычисляет двойной факториал n.
- FLOOR - вычисляет x, округленное вниз (к нулю) до ближайшего кратного значимости.
- GCD - вычисляет наибольший общий делитель одного или нескольких чисел, заданных аргументами в списке аргументов.
- INT - вычисляет x, округленное вниз до целого числа.
- ISO.CEILING - вычисляет значение, которое является округленным вверх x до ближайшего кратного значимости.
- LCM - вычисляет значение, которое является округленным x до ближайшего кратного значимости.
- LN - вычисляет натуральный логарифм x.
- LOG - вычисляет логарифм x по основанию "base".
- LOG10 - вычисляет десятичный логарифм x.
- MDETERM - вычисляет определитель квадратной матрицы чисел, заданной массивом.
- MINVERSE - вычисляет обратную квадратную матрицу чисел, заданную массивом.
- MMULT - вычисляет произведение матриц чисел, заданных массивом-1 и массивом-2.
- MOD - вычисляет остаток от деления x на y.
- MROUND - вычисляет x, округленное до кратного, от нуля.
- MULTINOMIAL - вычисляет отношение факториала суммы значений в списке аргументов к произведению факториалов.
- ODD - вычисляет x, округленное до ближайшего нечётного целого числа (от нуля).
- PI - вычисляет значение π.
- POWER - вычисляет x в степени y.
- PRODUCT - перемножает числовые значения аргументов в списке аргументов.
- QUOTIENT - вычисляет целую часть деления делимого на делитель.
- RADIANS - преобразует угол в градусах в радианы.
- RAND - вычисляет равномерно распределённое случайное действительное число, большее или равное 0 и меньшее 1.
- RANDBETWEEN - вычисляет случайное целое число в диапазоне "lower-bound-upper-bound".
- ROMAN - преобразует арабскую цифру "number" в римскую цифру в соответствии с форматом.
- ROUND - округляет x до количества цифр, указанного "number-digits".
- ROUNDDOWN - вычисляет x, округленное вниз (к нулю) до количества цифр, указанного "number-digits".
- ROUNDUP - вычисляет x, округленное вверх (от нуля) до количества цифр, указанного "number-digits".
- SERIESSUM - вычисляет сумму степенного ряда.
- SIGN - определяет знак x.
- SIN - вычисляет синус x.
- SINH - вычисляет гиперболический синус x.
- SQRT - вычисляет положительный квадратный корень из x.
- SQRTPI - вычисляет положительный квадратный корень из x × π.
- SUBTOTAL - вычисляет значение с использованием функции, указанной "function-number", используя аргументы в списке аргументов.
- SUM - складывает числовые значения аргументов в списке аргументов.
- SUMIF - применяет условия выбора к значениям в одном диапазоне ячеек и суммирует значения ячеек в соответствующем диапазоне.
- SUMIFS - суммирует ячейки в диапазоне, которые соответствуют нескольким критериям.
- SUMPRODUCT - перемножает соответствующие элементы в аргументах-массивах в списке аргументов и возвращает сумму этих произведений.
- SUMSQ - складывает квадраты аргументов в списке аргументов.
- SUMX2MY2 - вычисляет сумму разностей квадратов соответствующих числовых элементов в двух массивах, заданных массивом-1 и массивом-2.
- SUMX2PY2 - вычисляет сумму сумм квадратов соответствующих числовых элементов в двух массивах, заданных массивом-1 и массивом-2.
- SUMXMY2 - вычисляет сумму квадратов разностей между соответствующими числовыми элементами в двух массивах, заданных массивом-1 и массивом-2.
- TAN - вычисляет тангенс x.
- TANH - вычисляет гиперболический тангенс x.
- TRUNC - округляет x до целого, отбрасывая "number-digits" знаков после запятой.
Список поддерживаемых формул "Statistical" (статистические):
- AVERAGE - вычисляет среднее арифметическое числовых значений своих аргументов.
- COUNT - подсчитывает количество аргументов в списке аргументов, содержащих числа, а также количество ячеек, на которые ссылаются аргументы в списке аргументов, содержащие числа.
- COUNTA - подсчитывает количество аргументов, которые не являются ссылками на ячейки, а также количество ячеек, на которые ссылаются аргументы, которые не пусты.
- COUNTBLANK - подсчитывает количество пустых ячеек в указанном диапазоне ячеек.
- COUNTIF - подсчитывает количество ячеек в заданном диапазоне ячеек, значения которых соответствуют заданным критериям.
- COUNTIFS - подсчитывает количество ячеек в диапазоне, которые соответствуют нескольким критериям.
- FREQUENCY - вычисляет, как часто встречаются значения в диапазоне значений. Вызов FREQUENCY должен быть формулой массива.
- LARGE - вычисляет k-e по величине значение в наборе данных.
- MAX - вычисляет наибольшее значение из набора чисел.
- MIN - вычисляет наименьшее значение из набора чисел.
- SMALL - вычисляет k-e по величине наименьшее значение в наборе данных.
- STDEV - оценивает стандартное отклонение на основе выборки с использованием метода "несмещенной дисперсии" или "n-1".
- STDEVP - вычисляет стандартное отклонение всей совокупности с использованием метода "смещенной дисперсии" или "n".
- VAR - оценивает дисперсию на основе выборки.
- VARP - вычисляет дисперсию всей совокупности.
Список поддерживаемых формул "Text and Data" (текст и данные):
- BAHTTEXT - форматирует число в соответствии с тайским стандартом.
- CHAR - определяет символ, который соответствует числовому коду.
- CLEAN - создаёт строку, которая является копией строки с так называемыми "непечатными" символами - символы с внутренними значениями в диапазоне U+0000-001F.
- CODE - определяет числовой код первого символа в строке.
- CONCATENATE - создаёт строку, которая является объединением всех строк, соответствующих аргументам в списке аргументов, взятых слева направо.
- DOLLAR - создаёт строку, содержащую число, округленное до "num-decimal" десятичных знаков.
- EXACT - выполняет поэлементное, с учётом регистра, лексическое сравнение строки-1 и строки-2.
- FIND - выполняет поиск с учётом регистра, используя лексическое сравнение, для первого появления строки-1 в строке-2, начиная с позиции символа "start-pos" в строке-2.
- FIXED - создаёт строку, содержащую число, округленное до "num-decimal" десятичных знаков, используя тот же алгоритм округления, что и ROUND.
- LEFT - извлекает "number-chars" левых символов из строки.
- LEN - определяет количество символов в строке.
- LOWER - создаёт строку в нижнем регистре из строки путём поэлементного преобразования строки в нижний регистр, за исключением случаев, описанных ниже.
- MID - извлекает "number-chars" символов из строки, начиная с позиции символа "start-pos".
- PROPER - создаёт строку в нижнем регистре, за исключением первой буквы строки и любых других букв в строке, которые следуют непосредственно за символом, не являющимся буквой, преобразуются в верхний регистр.
- REPLACE - создаёт новую строку, которая является строкой-1 с "number-chars" символами, начиная с позиции "start-pos", замененными на строку-2.
- REPT - создаёт строку, которая является числом повторений строки "replication-count", объединённых вместе.
- RIGHT - извлекает "number-chars" крайних справа символов из строки.
- SEARCH - выполняет поиск с игнорированием регистра, используя лексическое сравнение, для первого появления строки-1 в строке-2, начиная с позиции символа "start-pos" в строке-2.
- SUBSTITUTE - создаёт новую строку, которая является строкой с одним или всеми вхождениями "old-string", замененными на "new-string".
- T - возвращает текст, на который ссылается значение.
- TEXT - создаёт строку, содержащую значение в соответствии с форматом.
- TRIM - создаёт строку, которая является копией строки с удалёнными начальными и конечными пробелами, а каждая последовательность встроенных пробелов сокращается до одного пробела.
- UPPER - создаёт строку в верхнем регистре из строки.
- VALUE - Преобразует строку в число.