73

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

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

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

9 ответов9

86

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

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

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

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

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

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

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

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

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

73

Еще более простым решением в 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() для обработки плохих результатов.

13

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

9

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

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

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

  1. Напишите вашу новую формулу в первой ячейке.
  2. нажмите на ячейку, нажмите CTRL+C (скопировать ячейку)
  3. нажмите на заголовок столбца (например, A), чтобы выбрать весь столбец
  4. CTRL+V -> вставить формулу ячейки во весь столбец
  5. прибыль
5

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

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

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

  1. Click на ячейку, чью формулу вы хотите скопировать один раз (выберите ее)
  2. Скопируйте содержимое ячеек (cntrl+c в Windows, cmd+c iOS)
  3. hold shift+cntrl+Down Key (выделение всех ячеек в этом ряду)
  4. Теперь вставьте формулу, так как у вас есть все выбранные ячейки.

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

3

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

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

3

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

2

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

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

2

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

=ARRAYFORMULA(iferror(A:A*B:B*1.6))

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