Как создать формулу для каждой строки в столбце в Google SpreadSheet?

76

Я использую три столбца. A, B и C. В столбце CI есть формула для каждой строки, =A1*(1.6*B1)а затем для следующей строки, которую я имею =A2*(1.6*B2)в C2.

Как я могу сделать так, чтобы мне не нужно было вводить новую формулу в столбце C для каждой строки?

Я использую его как в Google Docs SpreadSheet, так и в OpenOffice SpreadSheet.

Jonas
источник

Ответы:

89

С помощью мыши

  1. Нажмите на ячейку, формулу которой вы хотите повторить
  2. В нижнем правом углу появится темная квадратная «ручка»

    Расположение Drag box

  3. Нажмите и перетащите эту ручку, перетаскивая вниз по столбцу (или прямо через строку). Вы также можете дважды щелкнуть ручку для автоматического заполнения.

    Перетаскивание коробки

  4. Остановитесь на последней ячейке, которую вы хотите заполнить

Использование клавиатуры

  1. Переместите курсор в ячейку, формулу которой вы хотите повторить
  2. Держать shift
  3. Удерживая, нажмите downнесколько раз, чтобы выбрать остальную часть диапазона ячеек, которые вы хотите заполнить
  4. Когда вы дойдете до дна, отпустите, shiftзатем нажмите CTRL+ D(используйте CTRL+, Rесли вы заполняете вправо ) (использование этого метода также сохраняет примечания, в отличие от решения для мыши.)

В обоих случаях то, что вы делаете, называется «наполнением». Это поддерживается каждой (?) Программой работы с электронными таблицами.

Geoff
источник
5
Просто FYI, в Excel, вы можете дважды щелкнуть в нижнем правом углу выбранной ячейки, чтобы скопировать данные вниз по столбцу, если в соседней ячейке есть данные. В правом нижнем углу должен быть маленький черный прямоугольник.
Skub
1
@BorisCallens, заполнение ярлыков во Ctrl-/всплывающей подсказке.
анатолий техтоник
1
У меня большой диапазон, и мне действительно нужен самый быстрый способ скопировать формулу во все строки. Двойной щелчок в правом нижнем углу не работает в Google Docs
Kostanos
3
@Kostanos - см. Ответ ceoliphant ниже. Он должен делать то, что вам нужно.
Джефф
3
На Mac вы должны использовать ⌘-D. Это также связано с «Создать закладку» в Chrome, но все еще работает! Кроме того, если вы настроите первую ячейку в столбце, вы можете просто щелкнуть заголовок столбца, чтобы выбрать весь объект, а затем нажать Ctrl-Dили, ⌘-Dчтобы заполнить его.
17
77

Еще более простым решением в Google Sheets было бы ввести эту формулу в C1:

=ARRAYFORMULA(IF(A5:A,A5:A*(1.6*B5:B),""))

Он автоматически распространяется на последующие строки, если значение вводится в столбец A, что устраняет необходимость копировать его в каждую строку. Фактически, если вы скопируете его C2, он будет автоматически перезаписан продолжением формулы в C1.

Важной частью являются :Aи :B, которые указывают, что вы хотите включить все эти столбцы в формулу. Это означает, что вы можете применить формулу отдельной ячейки =A5*(1.6*B5)ко всем столбцам с помощью:

=ARRAYFORMULA(A5:A*(1.6*B5:B)) 

Обратите внимание , что это дает плохие результаты , где Aи Bявляются пропущенные значения, поэтому мы обернуть его в IF()заявлении (см выше) не показывают ничего , когда нет значения. Вы также можете использовать IFERROR()для обработки плохих результатов.

ceoliphant
источник
Это здорово. Интересно, как бы вы изменили его, если я хочу скопировать его в каждую альтернативную строку?
Шпарех
13

это еще один способ, продолжайте и удалите все формулы, которые там есть прямо сейчас, затем введите формулу в C1, чтобы она соответствовала A1 и B1, и нажмите Enter.
так что теперь правильная формула находится только в C1,
теперь щелкните поле C1, появится ограничивающий прямоугольник, в правом нижнем углу этого ограничивающего прямоугольника есть темный квадрат,
дважды щелкните этот квадрат, и формула «заполнится»,
вы заметите, C2 соответствует A2 и B2 и так далее.
если это то, что вам нужно, и я правильно понимаю

fightermagethief
источник
1
я только что заметил, что вы не используете Excel, тогда это может не сработать
fightermagethief
+1 Спасибо, это было хорошо, но у меня это работает только в OpenOffice, а не в Google Docs.
Джонас
3
Работал для меня (несколько позже в истории) в Google Docs.
Роберт Тупело-Шнек
Сейчас работает в гугл листах. Я только попробовал это после нахождения этого вопроса.
Шон Перри,
9

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

Метод ARRAYFORMULA работает, но он сложен, заставляет меня переписать стиль формулы и учесть возможные ошибки).

Решение настолько простое, что может быть сделано за 2 секунды:

  1. Напишите вашу новую формулу в первой ячейке.
  2. нажмите на ячейку, нажмите CTRL + C (скопировать ячейку)
  3. щелкните заголовок столбца (например, A), чтобы выбрать весь столбец
  4. CTRL + V -> вставить формулу ячейки во весь столбец
  5. прибыль
Джон
источник
3
Наконец-то такой же ленивый, как и я! По крайней мере, для Google Sheets ответ должен быть де-факто.
Том
Можно ли это сделать для обработки только в том случае, если заполнены две другие ячейки, в результате я получаю столбец, полный 0, после тех, что я сделал
TheHamstring
5

Я нашел все эти решения очень расстраивающими и запутывающими также.

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

Для меня это было просто.

  1. Нажмите на ячейку, формулу которой вы хотите скопировать один раз (выберите ее)
  2. Скопируйте содержимое ячеек ( Ctrl+ Cв Windows, cmd+ Cв MacOS)
  3. Удержание Shift+ Ctrl+ Down(выбор всех ячеек в этой строке)
  4. Теперь вставьте формулу, так как у вас есть все выбранные ячейки.

Это поместит формулу, обновленную с каждой ячейкой на ссылки.

Джейми Хатбер
источник
4

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

Это экономит много времени, когда у вас есть 7000 строк, с которыми вы работаете.

введите описание изображения здесь

Джошуа Дэнс
источник
почему это не работает сейчас?
февраля
Это лучший ответ. Дважды щелкните на поле в правом нижнем углу, чтобы автозаполнить оставшуюся часть столбца
helsont
Это работает, только если ячейки ниже не имеют данных внутри; но это, безусловно, самое простое решение.
Дэн Уолтерс
3

PS Я работаю в OpenOffice, и теперь я вижу, что он также работает, просто копируя содержимое ячейки и вставляя его в другие. Формула автоматически подстраивается под каждую строку! (Во избежание автоматической корректировки префикс имени номера строки и номера столбца с помощью символа $).

Михай
источник
2

Вы можете выбрать полный столбец C, выбрав заголовок и вставить формулу =A1*(1.6*B1). это будет применяться к каждому ряду.

Не нужно выделять и перетаскивать для копирования в каждую ячейку.

palaniraja
источник
2
как приклеить его ко всем клеткам? как я это делаю, формула копируется только в первую ячейку
Моисей
2

Очень похоже на ответ ceoliphant, но немного более просто, просто добавьте одну формулу к C1:

=ARRAYFORMULA(iferror(A:A*B:B*1.6))
skube
источник