1

Если я хочу суммировать элементы первой строки (от столбца a до x) документа calc, я могу использовать =sum(a1:x1) .

Мой вопрос о возможности рассчитать что-то вроде этого =sum(a1^2/(1+a1):x1^2/(1+x1)) (конечно, это вызывает ошибку).

Я имею в виду получить сумму

a1^2/(1+a1)+b1^2/(1+b1)+...+x1^2/(1+x1)

2 ответа2

2

введите A1:X1 в ячейке A3 - нажмите ENTER
type =INDIRECT($A$3)^2/(INDIRECT($A$3)+1) в A4 - нажмите SHIFT+ENTER
type =SUM(INDIRECT($A$3)) в ячейке B3 - нажмите ENTER

Обратите внимание, что для изменения содержимого A4 вам нужно выбрать A4, а затем сначала весь диапазон ! Простое нажатие на А4 не сработает.

Чтобы изменить содержание A3 - чтобы настроить любое изменение диапазона:
1. Выберите весь диапазон, начиная с А4
2. Отредактируйте A4 и убедитесь, что вы скопировали содержимое.
3. Нажмите ESC для выхода из режима редактирования.
4. Нажмите DEL, чтобы стереть формулу массива
5. Изменить A3
6. Повторно введите скопированную формулу в формате A4, нажмите SHIFT+ВВОД

Эта процедура необходима в LibreOffice как минимум.
Excel делает все это немного по-другому.

2

В LibreOffice Calc работает следующее: поскольку две программы в основном одинаковы, они также должны работать в OpenOffice Calc. Используйте формулу =SUM(A1:X1^2/(1+A1:X1)) ; затем нажмите CTRL + Shift + Enter, чтобы сделать формулу массива.

В общем, формула, которая принимает отдельные значения и возвращает одно значение (например, =A1 + B1 и нажимает Enter), может принимать и возвращать диапазон, превращая его в формулу массива (например, формула =A1:A3 + B1:B3 и нажмите Ctrl + Shift + Enter). В этом примере формула вернет три значения:A1 + B1, A2 + B2 и A3 + B3. (Если вы введете это непосредственно в ячейку C1, программа также заполнит ячейки C2 и C3.) Вместо того, чтобы отображать эти значения непосредственно в электронной таблице, вы, как и в вопросе, можете передать эти значения в SUM или любую другую функцию, которая принимает диапазон значений (=SUM(A1 + B1) и нажмите CTRL + Shift + Enter).

РЕДАКТИРОВАТЬ:
С математической функцией f(x) = x 2/(1+ x) из вашего вопроса, в Calc вы можете заменить x либо одной ячейкой (например, A1) в регулярной формуле, получая одно значение, либо диапазон (например, A1:X1), производящий одно значение для каждого значения в диапазоне. В вашей формуле вы просто заменяете одну ячейку диапазоном (A1:X1^2 и т.д. Вместо A1^2 и т.д.) И нажимаете CTRL + Shift + Enter, чтобы сделать ее формулой массива.

Техническая информация о том, как это работает под капотом: A1:X1 в формуле оценивается как список (или массив, следовательно, формула массива имени) {A1, B1, ..., X1} . A1:X1^2 создает список {A1^2, B1^2, ..., X1^2} . Поскольку A1:X1 в формуле дважды, существует два списка; когда деление оценивается, {A1^2, B1^2, ..., X1^2}/{1+A1, 1+B1, ..., 1+X1} становится {A1 ^ 2/(1+A1), B1 ^ 2/(1+B1), ..., X1 ^ 2/(1+X1)}. Этот список является суммой.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .