Google SpreadSheetの列のすべての行に数式を作成する方法は?


76

3つの列を使用します。A、B、およびC。列CIにはすべての行に数式=A1*(1.6*B1)があり、次の行には=A2*(1.6*B2)C2にあります。

すべての行で列Cに新しい数式を入力する必要がないようにするにはどうすればよいですか?

Google Docs SpreadSheetとOpenOffice SpreadSheetの両方で使用しています。

回答:


89

マウスを使用する

  1. 数式を繰り返すセルをクリックします
  2. 暗い正方形の「ハンドル」が右下隅に表示されます

    ドラッグボックスの場所

  3. そのハンドルをクリックしてドラッグし、列を下に(または行を右に)ドラッグします。ハンドルをダブルクリックして自動入力することもできます

    ボックスをドラッグする

  4. 埋めたい最後のセルで停止します

キーボードを使用する

  1. 数式を繰り返すセルにカーソルを移動します
  2. ホールド shift
  3. 押しdownながら繰り返し押して、埋めたいセルの範囲の残りを選択します
  4. あなたが一番下、リリースに達するとshift押しCTRL+ D(使用CTRL+をRあなたに充填している場合)(このメソッドを使用してもマウス・ソリューションとは異なり、ノートを保存します。)

どちらの場合も、あなたがしていることは「充填」と呼ばれます。every(?)スプレッドシートプログラムでサポートされています。


5
Excelでは、隣接するセルにデータがある限り、選択したセルの右下隅をダブルクリックして列の下にデータをコピーできます。右下隅に小さな黒いボックスがあるはずです。それをクリックします。
skub

1
@BorisCallens、塗りつぶしのショートカットはCtrl-/ポップアップヘルプにあります。
アナトリーテクトニク14

1
範囲が広いため、すべての行に数式をコピーする最速の方法が本当に必要です。右下の隅をダブルクリックして、Googleドキュメントで作業されていません
Kostanos

3
@Kostanos-以下のceoliphantの回答をご覧ください。必要なことを行う必要があります。
ジェフ14

3
Macでは、を使用する必要があります⌘-D。Chromeの「ブックマークの作成」にもバインドされていますが、それでも機能します!また、列の最初のセルを構成する場合は、列のタイトルをクリックしてすべてを選択し、Ctrl-Dまたは⌘-Dを押して記入します。
jchook

77

Googleスプレッドシートでさらに簡単な解決策は、C1次の式を入力することです。

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

columnに値が入力されると、自動的に後続の行に伝播し、各行に値Aをコピーする必要がなくなります。実際、をにコピーするとC2、の式が継続されることで自動的に上書きされC1ます。

重要な部分は:Aand :Bです。これらの列全体を数式に含めることを指定します。これは、次の方法で=A5*(1.6*B5)列全体に単一セル式を適用できることを意味します。

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

これは悪い結果もたらすことに注意AしてB値を欠けているが、私たちはそれをラップIF()値がないときは何も表示しないように(上記参照)のステートメント。IFERROR()悪い結果を処理するためにも使用できます。


これは素晴らしい。すべての代替行にコピーする場合、どのように変更するのだろうか?
-shparekh

13

ここに別の方法があります。先に進み、現在そこにあるすべての数式を削除してから、A1とB1に対応するC1に数式を入力してEnterキーを押します。
正しい数式はC1にあり
、C1ボックスをクリックすると、バウンディングボックスが表示され、このバウンディングボックスの右下隅に暗い四角が表示され
ます。この四角をダブルクリックすると、数式が「塗りつぶされ
ます」C2はA2およびB2などに対応します。
これがあなたが必要なものであり、私が正しく理解している場合


1
私はちょうどこれが、その後動作しない場合があります、Excelを使用してしゃべれなかった気づいた
fightermagethief

+1ありがとう、これは良かったが、OpenOfficeでのみ機能し、Googleドキュメントでは機能しません。
ジョナス

3
Google Docs、er、Driveで(多少歴史の後半で)働いていました
ロバートトゥペロシュネック

Googleシートで動作するようになりました。私はこの質問を見つけた後に試しました。
ショーンペリー

9

提案された回答は小さなシートでうまく機能しますが、数千行あり、マウスまたはキーボードを使用してそれらを選択するのは時間がかかりすぎました。

ARRAYFORMULAメソッドは機能しますが、複雑であるため、式のスタイルを書き直して、考えられるエラーを考慮する必要があります。

解決策は非常に単純なので、2秒で完了します。

  1. 最初のセルに新しい数式を記述します。
  2. セルをクリックし、Ctrl + Cキーを押します(セルをコピーします)
  3. 列ヘッダー(Aなど)をクリックして、列全体を選択します
  4. Ctrl + V->列全体にセル式を貼り付けます
  5. 利益

3
最後に私と同じくらい怠け者!少なくともGoogleスプレッドシートでは、これが事実上の答えになるはずです。
トム

これは、他の2つの細胞が移植されている場合のみ、プロセスに行うことができ、私は私がしたものの後に0の完全な列で終わる
TheHamstring

5

これらのソリューションはすべて非常にイライラさせられ、混乱を招きます。

ただし、現在セル内にあるものはすべて置き換えられますが、式なので、これは問題になりません。

私にとっては簡単でした。

  1. 数式を1回コピーするセルをクリックします(選択します)。
  2. (セルの内容をコピーCtrl+ C、Windows上でcmd+ CMacOSの上で)
  3. ホールドShift+ Ctrl+ Down(その行のすべてのセルを選択)
  4. すべてのセルを選択したら、式を貼り付けます。

これにより、参照の各セルで更新された数式が配置されます。


4

フォーラムを作成した後、選択したセルの右下隅にある青いボックスをダブルクリックして、隣接するセルにデータがある限り、列の下にデータをコピーできます。

これにより、作業中の7,000行のシートがある場合に多くの時間を節約できます。

ここに画像の説明を入力してください


なぜ今は機能しないのですか?
fdrv

これが最良の答えです。右下のボックスをダブルクリックして、残りの列を
自動入力

これは、下のセルにデータがない場合にのみ機能します。しかし、これは断然簡単な解決策です。
ダンウォルターズ

3

PS OpenOfficeで作業していますが、セルの内容をコピーして他のセルに貼り付けるだけでも機能することがわかりました。数式は各行に自動的に調整されます!(自動調整を避けるために、行番号と列番号の名前の先頭に$を付けます)。


2

ヘッダーを選択して数式を貼り付けると、列C全体を選択できます=A1*(1.6*B1)。すべての行に適用されます。

すべてのセルにコピーするために選択してドラッグする必要はありません。


2
すべてのセルに貼り付ける方法は?私はそれがそうであるように、式は唯一の最初のセルにコピーされます
Moisei

2

ceoliphantの答えに非常に似ていますが、もう少し簡単です。C1に式を1つ追加するだけです。

=ARRAYFORMULA(iferror(A:A*B:B*1.6))
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.