Применять формулу ко всем ячейкам в столбце, а не только по одной за раз? - PullRequest
8 голосов
/ 21 марта 2011

В OpenOffice.org Calc я хотел бы применить формулу к столбцу, который ссылается на ячейку из той же строки, но в другом столбце.То есть =C1*48 в ячейке D1, но я хочу, чтобы все ячейки в столбце D делали это без необходимости вручную копировать формулу в каждую.Или, иначе говоря, для каждой ячейки в C, в которой есть число, я хочу заполнить соответствующую ячейку строки в D значением формулы, основанным на этом числе.Пока что все, что я могу видеть из документации, - это то, что мне придется копировать / корректировать формулу для каждой новой строки в электронной таблице.И так как у меня есть 4 таких столбца, которые требуют расчета, это будет утомительно.У меня мало опыта работы с электронными таблицами, поэтому я надеюсь, что моя проблема на самом деле очень проста, и что я просто смотрю на неправильные части документации.

Ответы [ 4 ]

16 голосов
/ 21 марта 2011

У меня нет OpenOffice передо мной, но он очень старается быть Excel во многих отношениях, поэтому обычно предположения о Calc на основе Excel довольно близки к реальности.

В Excel формула в ячейке D1, которая указывает на ячейку в C1, обрабатывается как относительная ссылка, то есть на один столбец от того места, где я сейчас нахожусь. Таким образом, когда эта формула заполняется в другие ячейки (либо с помощью Fill Down , либо путем перетаскивания маленькой ручки в углу контура ячейки, либо путем вставки копии формулы в диапазон выбранных ячеек), новая по умолчанию аналогичным образом обрабатываются как ссылки на ячейку, которая находится на один столбец от них в той же строке.

Чтобы заставить формулу использовать абсолютную ссылку, указывается адрес ячейки со знаком доллара - $ C $ 1 всегда будет указывать (использовать) содержимое ячейки C1, независимо от того, где формула заканчивается. ($ C1 и C $ 1 - это альтернативы, которые позволяют одному параметру адреса изменяться в обычном относительном смысле при фиксировании другой половины на месте ... это, вероятно, еще не важно для вас).

Другими словами, я ожидал бы, что вы можете напечатать формулы в первой строке вашего листа OpenOffice Calc и скопировать их в оставшуюся строку, и все будет работать.

2 голосов
/ 25 июля 2014

Если вы хотите расширить свой диапазон вниз, вы можете сделать это, вычислив первые 2 ячейки по вашей формуле и затем выделив их.Теперь вы берете маленький квадрат в правом нижнем углу выделенной области и перетаскиваете его вниз, поперек или оба.

Если у вас есть определенная ячейка (например, D2), которую вы хотите оставить во всех ячейках, которые выувеличьте свой диапазон до, затем в ваших 2 начальных вычислениях ячейки используйте следующее:

Расширение вниз

=G2*D$2
=G3*D$2

Расширение через

=G2*$D2
=H2*$D2

Расширение вниз и поперек

Use $D$2
0 голосов
/ 31 августа 2018

Из вашего вопроса кажется, что вы пытаетесь применить одну и ту же формулу ко всей строке (или столбцу) ячеек и показать результат в другой строке (или столбце).

Лучший способ сделать этоэто использовать то, что называется формулы массива или функции массива (в офисе libre).Эта ссылка имеет очень хорошее объяснение - https://help.libreoffice.org/Calc/Array_Functions

Способ, которым вы бы реализовали это в вашем случае, -

Type this formula in cell D1

=C1:C30 *48

and press ctrl + shift + enter

Формула теперь выглядит так с цветочными скобками {..}

={C1:C30 *48}

и формула применяется от D1 до D30.

Вы можете даже экстраполировать то же самоеконцепция всей матрицы (например: A1:C10)

(Чтобы сказать Excel / Open Office / Libre Office, что вы написали формулу массива, нужно нажать ctrl + shift + enter. Никогда не нажимайте enter какэто сломает функцию массива и преобразует ее в обычную функцию)

0 голосов
/ 19 апреля 2013

Мне нужно что-то похожее, просто мне нужна была абсолютная ссылка при расширении формулы по горизонтали, но относительная ссылка при расширении по вертикали.

Следующая статья с форума OpenOffice действительно помогла мне, может бытьПойдем на пользу и другим:

http://forum.openoffice.org/en/forum/viewtopic.php?f=9&t=2443

...