• ベストアンサー

EXCEL セルの自動計算

例えば, D26で「=D$17*D$10」の計算を行って D46で「=D$17*E$10」の計算を行いたいのです. D26からD46へ $D$10→$E$10とDからEへと右に1つ移動しただけなんです.それを自動で書き換えは出来ますか?今,一個一個計算式を選択しているのですが自動な方法があれば教えてください. 例えば,「=D$17*(E+1)$10」という風にEから1つ移動する...て感じに式が表現できませんか?

質問者が選んだベストアンサー

  • ベストアンサー
  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.5

こんばんは。 いったい、どのぐらいの数にかもにもよりますね。 私の方法は、実務的にする方法です。 空いている列の26行目に =MOD(ROW(A1),20)=1  それを必要なだけフィルダウン・コピー オートフィルタで、TRUE だけ出す。 D26で「=D$17*D$10」 D46で「=D$17*E$10」 の二つを書いて、D46で、フィルダウンで必要なだけドラッグしてコピー Ctrl + Shitf + @ で、数式を出しておいて、 A1 →R1C1にして、テンキーで、 =R17C*R10C[2]  =R17C*R10C[3] と括弧の数字を、F2と矢印キーで移動して、書き換えます。 後は、A1 方式に戻せば出来上がりです。100個でも、そんなに時間が掛からないと思います。数式で考えるよりも早いです。 たぶん、お気に召さないとは思いますが。

その他の回答 (4)

  • imogasi
  • ベストアンサー率27% (4737/17068)
回答No.4

質問の気持ちも判るが、 エクセルの式の複写は「連続セル」に対して有効なとき、便利なんです。 本質問では、 (1)D26->D46->D66・・のように飛び飛びに複写するということは、そのセルを、人間が注意を持って指定しなければならない。 (2)例えばD27-D56の間のセルの値や式を「壊してはならない」。 ということで有ろうから、余りメリットはない。 あえてやるなら、規則性のある場合は、ROW()関数やCOLUMN()関数で OFFSET関数やINDEX関数の、行列を表すことができれば、可能です。 考える時間のことも考えて無駄なような気がする。 $D$17は変わらないらしいから、$D$17かまたは縦方向の 複写なのでD$17。 26から46行が増えて、列が1列増やしたいので、 26のとき4 46のとき5 26のとき int(row()/20)+3 46のとき int(row()/20)+3 でよい。 これおINDEX関数で現すなら =D$17*INDEX($A$1:$G$1000,10,INT(ROW()/20+3)) $Gや$1000は適当に多めに指定。 ーーーーーーーーーーーー D10=11 E10=22 F10=33 D17=1 ーーーーー D26に =D$17*INDEX($A$1:$G$1000,10,INT(ROW()/20+3)) CTRL+C D46でCTRL+V D66でCTRL+V D26は11 D46は22 D66は33 になりました。

回答No.3

OFFSET関数を使います。 =$D$17*OFFSET($D$10,,(ROW(D26)-ROW($D$26))/20)

  • ASIMOV
  • ベストアンサー率41% (982/2351)
回答No.2

次は、D66=D$17*F$10ってことですか?

OK_WEB_ID
質問者

補足

そうです.お願いします.

  • rukuku
  • ベストアンサー率42% (401/933)
回答No.1

はじめまして ご質問の意味が理解できないので、うまく説明できませんが、 INDIRECT 関数 を使ってみてはいかがでしょうか? 10行毎に1繰り上がるなら、 =INT(ROW()/10) でできます。 もう少し具体的に例を挙げていただけると、解答しやすくなります。

OK_WEB_ID
質問者

補足

D26で「=D$17*D$10」の計算 D46で「=D$17*E$10」の計算 D66で「=D$17*F$10」の計算 D86で「=D$17*G$10」の計算 D106で「=D$17*H$10」の計算 です. お願いします.

関連するQ&A

  • エクセル:セルの右下を引っ張っても計算をしてくれない

    例えば、B,C,D列の2つの数字を足したいとき、 B C D 2 4 6 1 3 5 b c d bのセルに ”= 2[セル指定] + 1[セル指定]” の式を入力し計算をさせ、その後はbのセルの右下を Dまで引っ張っると、自動的に   c = 4 + 3 d = 6 + 5 という風になり、c~dに計算式を入力しなくても、 計算してくれていたのに、 今朝から計算が出来なくなってしまっています。 今の状況は、 b:通常通り計算する c:セル内の式は、c式が書かれているものの、結果はb d:セル内の式は、d式が書かれているものの、結果はb しかし、c~dのセルをダブルクリックして、 リターンを押すと、正常な計算をしてくれます。 これは、なにかエクセルの設定をかえたら直りますか? 教えてください。お願いします。

  • Excelで自動再計算されないようにしたいのですが。

    セルE1に 「=A1:C1」または「=A1+B1+C1」 と入力した後、セルD1に数字を入力すると、セルE1の式が、自動で 「=A1:D1」または「=A1+B1+C1+D1」 に書き換えられてしまいます。 これを変更されないようにする方法は、何かあるのでしょうか? オプションなど、一通り見てみたのですが、見つけられませんでした。 そこまで深刻な状況ではありませんが、それなりにちょっと困っています。 どなたか、分かる方がいらっしゃいましたら、ぜひ教えてください。

  • 一つのセルだけを自動計算または手動計算にしたい

    Excel2007利用です。 一つのセルだけを自動計算もしくは手動計算にするということはできないのでしょうか? 「数式」タブの「計算方法の設定」では「自動」「手動」の切り替えができますが、一つのセルだけを自動または手動にはできないのでしょうか? たとえばA1とA2に関数式が入っているとしますが、A1を手動にするとA2が計算されません。ひとつの設定に対して全体が作用されます。一つのセルだけを指定して自動または手動にすることはできないのでしょうか?

  • Excel 通帳計算の表の残高自動計算するには

    Excel で単純に 通帳と同じような表を作ると残金の所は自動で計算できますか A     B     C     D     E 入金詳細  入金額   出金詳細  出金額   残高       5000            3000                   2000  この記入方法で残高は自動計算できますか? 詳細の所には文字を入れたいです。 例えば、A給料 C衣類  など ☆下記回答いただきましたが 2行目以降データ入力行のA~E列の任意のセルをクリックした瞬間にE列に残高計算式"=SUM(B$2:B○)-SUM(D$2:D○)"を自動的にセットさせる方法があります。 (注)ここで残高計算式中の"○"は選択したセルの行番号値です。 初心者にとっては少々大変ですが、次の操作を一度だけしっかり行うと あとは計算式の自動セットの恩恵に預かれます。 (1)Excel画面の下端にあるシート見出し(例えば「Sheet1」)上を右クリックし (2)表示されたメニューから「コードの表示(V)」を選ぶ (3)表示されたコードウィンドウの上部の左側に「(General)」と表示されている部分の右にある「▼」ボタンをクリツク (4)表示された一覧の中から「Worksheet」を選択 (5)コードウィンドウに Private Sub Worksheet_SelectionChange(ByVal Target As Range) End Sub と表示される (6)前項の「Private ・・・・Target As Range)」行と「End Sub」行の間に次のコードをコピーして貼り付ける。 rw = ActiveCell.Row: clm = ActiveCell.Column If rw >= 2 And clm <= 5 Then Cells(rw, 5).FormulaR1C1 = "=SUM(R2C[-3]:RC[-3])-SUM(R2C[-1]:RC[-1])" 'E列のセルに残高計算式をセット End If (7)画面右上にある赤地に白抜きの「×」をクリツク、これで終了です。 これを変更して A→日付け B→詳細 C→入金 D→出金 E→残高 だと どうすればいいですか?

  • excelの計算式のコピーが出来なくなった。

    Excelで表を作成して、A列の下部にSUMで合計を出して、選択をして 右にドラッグして、B,C,D,E,の合計を出していたのですが、 突然、計算式のコピーが出来なくなり、A列の合計が そのまま B,C,D,Eにコピーされるのです。  B列に移動したときはB列のSUMとなっているのですが、確定しますとAの値になります。 理解できなくて?  助けてください。

  • EXCEL 計算空白セル/0(ゼロ) 無視する方法

    以下のように、 =B7/((D7/E7)+(F7/G7)+(H7/I7)) の中で[D7・E7・F7・G7・H7・I7]のどれかが、空欄か0(ゼロ)の場合、#DIV/0!と返ってしまいます。 そのときにゼロや空欄を無視して計算する方法があったら教えてください。 この計算式にあたる関数も良く分からないので、困っています。 ※昨年比を出すため、逆算式を入れています。

  • JavaScriptで自動計算

    JavaScriptを使って自動計算ができる方法を知りたく質問させていただきます。 計算タイプA・B・C・Dをセレクトボックスから選択 2~18をセレクトボックスで選択         ↓ 計算と書かれたボタンを押すことで計算 計算方法はセレクトボックスで 選択する数字を『n』とします。 『A』を選択した場合、 n(n-1) 『B』を選択した場合、 n(n-1)÷2 『C』を選択した場合、 n(n-1)(n-2) 『D』『5』を選択した場合、 n(n-1)(n-2)÷2 以上のようなものを作るにはどうしたら良いのでしょうか?

  • EXCELで入力された式の値を求めて自動計算

    A B C D E 1|データNO |数値1| 数値2| 数値3| 2| 1| 0.3 | 0.2 | 0.5 | 3| 2| 0.3 | 0.2 | 0.5 | 4| 3| 0.3 | 0.2 | 0.5 | -------------------------------------------- 10| 2/1| 数式1| 数式2 | 数式3 | 11| 3/2| 数式4| 数式5 | 数式6 | 12| 【求めたい値】 数式1には=C3/C2、数式2には=D3/D2、数式3には=E3/E2 数式4には=C4/C3、数式2には=D4/D3、数式3には=E4/E3 B列の2/1というのをそのまま式にしたいです。 2/1、3/2などは規則性はありません。その都度変わります。 C列の式ではC列の値を、D列の式ではD列の値を用います。 関数で=MATCH(LEFT(D34,SEARCH("/",D34,1)-1),D1:D23,0))と入れ、C3の値を求めようと思いましたが この時点でエラーになりました。=MATCH(2,D1:D23,0)だと大丈夫なのですが・・・。 関数でやるととても式が長くなりそうなので、VBAの方が良いかとも思っています。 どのようにコード、もしくは式を書けば希望の値が得られるでしょうか? VBAの場合は2/1などの数値を入れた時点で自動計算できれば嬉しいです。 よろしくお願いします。

  • エクセルのIFで計算出来ないのでしょうか。教えてください。

    ある数値を下記の条件で自動で計算したいのですが。 100未満の時は0.1を掛けて5を引く。 100以上200未満の時は0.2を掛けて10を引く。 200以上300未満の時は0.3を掛けて15を引く。 300以上の時は0.4を掛ける。     例) 89ならば  89*0.1-5(この式を自動で選択してくれるよう)  答え3.9 145ならば  145*0.2-10(この式を自動で選択してくれるよう) 答え19 320ならば  320*0.4(この式を自動で選択してくれるよう)答え128 89・145・320などのセルにある数字を上記のような規則にあてはまるようIFなどの計算式で答えを自動で出したいのですが、どうすれば良いのでしょうか?すみませんが、よろしくお願いします。

  • Excelで手動計算になっていないのに自動計算できない

    手動計算の設定になっていないのに自動計算出来なくて困ってます。 作業は↓のようなことをしています。 シートが左からsheet1、sheet2、sheet3、sheet4と有ります。 1.sheet1からsheet3までのA1セルの合計をsheet4のA1に出します。関数は=SUM(Sheet1:Sheet3!A1)になります。 2.その後、sheet2をsheet4の右側に移動します。  これでsheet4に入れてある関数自体は変わらないものの、中味の数値には変化があります。(sheet1とsheet3だけの合計になるから) 問題はこの後です。 3.移動したsheet2を元の位置に戻します。  通常でしたらこの時点で再計算され、sheet4にはsheet2の数値を含めたsheet1からsheet3までの合計が出るはずです。 がしかし、出ません。 ・手動計算の設定になっているのかと思い、確認しましたが、自動計算の設定になったままでした。 ・試しにF9キーを押してみましたが再計算されません。 ・実際はシートが大量にある為、計算速度が遅いのかと思い、5分程まってみましたが再計算されません。 ・上書き保存をして、PCも再起動して見ましたが、再計算されません。 結局どうしても再計算されないため、式が入っているセルをF2キーで再入力できる状態にしてからEnterキーを押して更新・再計算しています。(式を再入力している状態ですね) どうにか自動で再計算できないものでしょうか? それともこういう場合って再計算できないものなのでしょうか?

専門家に質問してみよう