ワークシート関数 – Google SpreadSheetで列の行ごとに数式を作成するには?

google-spreadsheets openoffice-calc spreadsheet worksheet-function

私は3つの列を使用しています。A, B, Cの3つの列を使用しています。C列には行ごとに=A1*(1.6*B1)=A2*(1.6*B2)の式があります

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

Google Docs SpreadSheetとOpenOffice SpreadSheetの両方で使っています

  80  Jonas  2011-03-21


ベストアンサー

マウスの使用

  1. 繰り返して使用する数式のセルをクリックします
  2. 右下に濃い四角い「ハンドル」が表示されます

    Location of Drag box

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

    Dragging the box

  4. 記入したい最後のセルで停止します

キーボードを使う

  1. カーソルを繰り返したいセルに移動します
  2. Hold shift
  3. 保持したまま、downを繰り返し押して、塗りつぶしたいセルの範囲の残りの部分を選択する
  4. 下まで来たら、shiftを離してCTRL + Dを押します(右に塗りつぶす場合はCTRL + Rを使います)

どちらの場合も、あなたがやっていることは「塗りつぶし」と呼ばれています。これはすべての(?) 表計算プログラムでサポートされています

92  Geoff  2011-03-21


Googleシートでさらに簡単な解決策は、この式を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))

AB が値を欠いている場合には悪い結果が得られることに注意してください。悪い結果を処理するために IFERROR() を使うこともできます

81  ceoliphant  2013-03-07


ここでは別の方法ですが、先に行って、今そこにあるすべての数式を削除し、それがA1とB1に対応しているC1の数式を入力し、Enterキーを押します。今正しい数式はちょうどC1にあり、今C1ボックスをクリックして、バウンディングボックスが表示され、このバウンディングボックスの右下隅には暗い四角があり、この四角をダブルクリックして、数式はあなたがC2がA2とB2に対応していることに気づくだろう ‘ダウンを埋める’など

13  fightermagethief  2011-03-21


提案された答えは、小さなシートのためにうまく機能しますが、私は何千もの行を持っていたし、それらを選択するためにマウスやキーボードを使用して、単にあまりにも時間がかかりました

ARRAYFORMULAメソッドは動作しますが、複雑で、式のスタイルを書き換えたり、可能性のあるエラーを考慮したりする必要があります)

解答はとてもシンプルで、2秒でできてしまいます

  1. 最初のCELLに新しい数式を書きます
  2. セルをクリックし、CTRL+C(セルをコピー)を押します
  3. 列ヘッダー(例:A)をクリックして、列全体を選択します
  4. CTRL+V→セルの式を列全体に貼り付けます
  5. profit

12  John  2017-07-31


私は、これらのソリューションのすべてが非常にイライラして混乱していることを発見しました

しかし、これは現在セル内にあるものは何でも置き換えられますが、数式なので問題にはなりません

私にとっては単純なことでした

  1. コピーしたい数式のセルを一度クリックします(選択します)
  2. セルの内容をコピーします(WindowsではCtrl+C、macOSではcmd+C)
  3. Shift+Ctrl+Downを押したまま(その行のすべてのセルを選択)
  4. あなたが選択したすべてのセルを持っているように今すぐ式を貼り付けます

これは、参照上の各セルで更新された数式を配置します

6  Jamie Hutber  2016-09-13


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

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

5  skube  2015-10-14


あなたがあなたのforumlaを書いた後、あなたはダブルクリックして、青いボックスで選択したセルの下、右隅をクリックして、隣のセルがデータを持っている限り、下の列のデータをコピーすることができます

これなら、7000行のシートを使って作業しているときに、時間を大幅に節約できます

enter image description here

5  Joshua Dance  2015-12-11


P.S. OpenOfficeで作業しているのですが、今見てみると、セルの内容をコピーして他のセルに貼り付けるだけでも動作するようです。式は各行に自動的に調整されています!自動調整を避けるためには、行番号と列番号の名前の前に$を付けてください)

3  Mihai  2012-03-24


あなたは、ヘッダーを選択して完全な列Cを選択し、数式=A1*(1.6*B1)を貼り付けることができます

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

2  palaniraja  2012-06-22


タイトルとURLをコピーしました