マンガでよめる痔のこと・薬のこと

手動計算の設定になっていないのに自動計算出来なくて困ってます。
作業は↓のようなことをしています。
シートが左から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キーを押して更新・再計算しています。(式を再入力している状態ですね)

どうにか自動で再計算できないものでしょうか?
それともこういう場合って再計算できないものなのでしょうか?

このQ&Aに関連する最新のQ&A

A 回答 (4件)

私もやってみましたが自動計算できますね。

元に戻ります。
ファイルに保護がかかっているとか特別な条件は在りませんか。

新しい別のファイルで実験されてはどうでしょう。
それで駄目ならExcelに不都合が、
新しいファイルでならできるということならそのファイルだけの事情でしょう。
    • good
    • 0
この回答へのお礼

アドバイスありがとうございます。

シート保護は掛かってます。
この表は大勢の人間に配るため、計算式が変更されると非常に困るからです。
これがいけないのでしょうか?
ちょっと色々と試してみたいと思います。

他の方のお礼欄にも書いたのですが、
実は例に出したのはシート4枚分ですが、
実際には、約20シートを使用していまして、
それぞれに数値と計算式が大量に入っているのです。

実は、同じファイルではないのですが、同パターンの現象を他PC(Excelのバージョンは同じ)でも見たことがあり・・・。
もしかするとExcelの問題なのか・・・。
Excelの再インストールもしてみようと思います。

お礼日時:2003/02/03 15:22

ごめんなさい、シート全部開かなくても、ブック単位に開いてあればOKのようでした。


ヘルプで「再計算」を参照して、ご自分にあった計算方法を選択してみてください。
Ctrl キー、Shift キー、Alt キーを押しながら F9 キーを押す
(参照先の数式を再度チェックし、開いているすべてのブックの数式を再計算します。最後に計算されたとき以降に変更されたかどうかは問いません。)
この方法で再計算すると、相当かかりそうですね。
    • good
    • 1

画面を表示していないと再計算されないのではないでしょうか。

(更新できないですからね)
ウインドウー新しいウインドウを開くで、シートをすべて表示してから入力してみてはいかがでしょうか。
    • good
    • 0
この回答へのお礼

アドバイスありがとうございます。

シートの枚数分ウインドウを出すということでしょうか?

実は実際には、約20シートを使用していまして、
それぞれに数値と計算式が大量に入っているのです。

計算する度に、シート枚数分のウインドウを開くのは
面倒臭がりな私には難関なのですが・・・。(-_-;)
これも仕事。やってみます。

お礼日時:2003/02/03 15:31

原因はわからないのですが、私のエクセル上では



>問題はこの後です。
>3.移動したsheet2を元の位置に戻します。
> 通常でしたらこの時点で再計算され、sheet4にはsheet2の数値を含めたsheet1
> からsheet3までの合計が出るはずです。

はい、戻したら再計算されて、Sheet1→Sheet3の合計にもどりました。

ためしに、Sheet3もSheet4の右にもっていくと、
「循環参照していません」のようなエラーになります。しかし計算式自体は変わっていません。

どこかで参照が切れてしまったのでしょうか。この現象は大量な数字を処理する場合起こると困りますね。わたしも原因が知りたくなりました。
    • good
    • 0
この回答へのお礼

お返事ありがとうございます。
hatfieldのおっしゃる通り。

実は例に出したのはシート4枚分ですが、
実際には、約20シートを使用していまして、
それぞれに数値と計算式が大量に入っているのです。

少量の計算なら出来るけど、大量では出来ないってことに
なると・・・。困ってます~。

お礼日時:2003/02/03 15:13

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Qエクセルで数式の結果が反映されない(自動計算になっているのに)

すいません、教えてください。

エクセル(XP)で数式が自動計算されなくなって
しまいました。

  ※ツールのオプションはちゃんと自動計算に
   なっているのに全く反映されません。

今まで全く問題なく作業できていたので
原因が分からず困っています。

数式等のエラーだとは考えにくいです。
と言うのも数式のあるセルをダブルクリックして
選択し、そのままEnterキーを押すと計算結果が
反映されます。
ただ、今まで全て自動計算されていたのが
全く動かなくなってしまったんです。

同じようなトラブルを経験された方、又は
詳しい方、どうかよろしくお願いします。

Aベストアンサー

原因は分からずじまいになってしまいましたが
同じことがありました。

「Officeの救急隊」を試してみましょう。
ボタン一発で全ての設定が元に戻ります。
http://www.vector.co.jp/soft/win95/util/se247118.html
(ツールバーなども初期状態に戻ります)

私の場合はコレで直ってしまいました^^

参考URL:http://www.vector.co.jp/soft/win95/util/se247118.html

Qエクセルでの再計算がされないんです

売上集計表としてエクセルを使用しています。ひとつのセルに売上数字を入れると前期との比率や累計などが計算されるようになっています。最近になって、この表に元になる数字を入れても再計算がされないことに気づきました。計算式の入ったセルをアクティブにしてその中に入力可能な状態にすると再計算されます。
今までのように数字を入れれば全て計算される状態にしたいのですがやり方がわかりません。詳しい方、教えてください。よろしくお願いします。

Aベストアンサー

「ツール」→「オプション」→「計算方法タブ」で「計算方法」が「自動」になっていますか? 

Qエクセルの関数 ENTERを押さないと反映されない。。

エクセル2002を使用しています。
関数を使用していますが、入力結果が反映されません。大変困っています。。
関数の末尾にカーソルを持ってきてENTERを押すと、反映されます。
関数は別に難しいものではなく、SUM関数でもCOUNTIF関数でも同様のことが起こっています。新規にファイルを作成しても解決しません。
お心当たりがあれば教えて下さい!!

Aベストアンサー

計算方法が手動になっていると思われます。
ツール→オプション→計算方法タブで自動に切り替えてみて下さい。

Qエクセルの計算式が働かなくなりました!

仕事で、エクセル2003を使い、報告書や請求書を作成しています。
使っているのは単価×人数の=C25*D25や合計額を出す=SUM(E24:E36)など簡単な計算式です。
計算式を埋め込んだ表に数字を入力して、書類を作成してきました。
作成した書類は、別の名前をつけて保存しているので、元のファイルとは別になっています。

今まで8年ほど何の問題もありませんでした。
ところが、最近になって、数字を埋め込んでも計算されないんです。
1万円×3人で3万円と計算されなければならないのに、0のままなんです。
計算式をけしてしまったのかと思ったのですが、元のままきちんと入力されています。
特にコンピューターを変えたわけでもありません。
とにかく、ある日いきなり今まで使っていたシートで計算式が働かなくなったんです。

何が悪いのでしょうか?
教えてください。お願いします。

Aベストアンサー

例えばシートが3枚あって、C1のセルに「=A1*B1」という数式をそれぞれ入れたいとします。
このとき1枚づつ入力するのではなく、シート名のところで右クリック、「すべてのシートを選択」を選んでから、C1に数式を入力すると3枚同時に入力することができます。これが複数のシートを選択した状態です。
ここで、いったんファイルを閉じるとします。このとき、このまま閉じるのではなく、もう一度シート名で右クリック、「作業グループの解除」を選択して1枚の状態に戻してから保存終了しないと、次にファイルを開いたときにご質問者様がなった状態になりえます。
ご質問者様がこれが原因かどうかは不明ですが、上記の作業すると必ず自動から手動へ切り替わってしまうので、下部に再計算と表示されている場合は、先に返答のあった方法で自動に変更してください。

Qエクセルの関数が計算されない

普通のSUM関数の結果が 0 になってきます。
表示を数値にしても変わりません。
他に何か設定する方法があるのでしょうか?
自分で作成したファイルではないので属性が分かりません。
困っています。よろしくお願いいたします。

Aベストアンサー

SUM関数の対象セルが文字列になってる場合が考えられますので、次の方法をお試しください。
(1)空きセルに数値の1を設定
(2)空きセルをコピー
(3)SUM関数対象のセル範囲を選択→右クリック
(4)形式選択して貼り付け→乗算にチェック→OK

Qエクセルの計算結果が0になってしまいます

エクセルのセルに計算式を入力しても、Σで和を求めようとしても、「0」と表示されてしまい、求めたい計算結果が出ません。
理由と対策について教えていただきたいです。

Aベストアンサー

先に計算式を入力して後から数値を入力したのでは?
画面の下のほうに再計算というのがでていませんか?
でていればF9ボタンを押してみてください。
計算されれば計算方法が手動になっているはずです。
メニューのツール→オプションを選択して計算方法を手動から自動にすればなおります。

Qエクセルの複数条件に一致したセルを抽出したいのですが、関数で教えてくだ

エクセルの複数条件に一致したセルを抽出したいのですが、関数で教えてください。

               A列   B列    C列
Aファイルには 行 【注文月日】、【氏名】、【商品金額】が記入されています。
Bファイルには 行 【注文月日】、【氏名】、【税金額】が記入されています。

AファイルのD列に、Aファイルの【注文月日】かつ【氏名】がBファイルの【注文月日】かつ【氏名】と一致する場合のBファイルC列の【税金額】を表示したいのです。

VLOOKUP関数では条件が1つだけなので使用できませんが、似たような関数で複数条件ができる関数があるなら教えてください。

Aベストアンサー

こんばんは!
一例です。
↓の画像で右側(Bファイル)の方に作業用の列を設けています。
作業列D2セルを
=A2&B2
としてオートフィルで下へずぃ~~~!っとコピーします。

そして、AファイルのD2セルに
=IF(OR(A2="",COUNTIF([Bファイル.xls]Sheet1!D$2:D$1000,A2&B2)=0),"",INDEX([Bファイル.xls]Sheet1!C$2:C$1000,MATCH(A2&B2,[Bファイル.xls]Sheet1!D$2:D$1000,0)))
という数式を入れ、オートフィルで下へコピーすると
画像のような感じになります。
尚、数式はBファイルの1000行目まで対応できるようにしていますが、
データ量によって範囲指定の領域はアレンジしてみてください。

以上、参考になれば良いのですが
他に良い方法があれば読み流してくださいね。m(__)m

QExel VBA 別ブックから該当データを検索し、必要なデータを取得する方法について

部品表というブックがあります
A列に商品名、B列に商品番号が入力してあります。C列のコードは未入力です。
A列     B列     C列      
商品名  商品番号  コード
モータ  U-1325-L  
ホルダ  R-134256

また、コード一覧表という別のブックには、A列に商品番号と、B列にコードが、何千件も入力されています。

やりたいことは
部品表のC列のコード欄に、コード一覧表ブックから商品番号と一致するコードを貼り付けしたいのです。

部品表は、何百種類もありますので、関数ではなく、マクロで処理を希望します。

自分では、部品表の商品番号をコピーして、コード一覧表で検索し、検索結果の右隣のセル(B列のコード)の値を部品表のC列に貼り付ければよいかと思い、書いてみたんですが…

Sub 別ブックから貼り付ける()
  Dim 検索する As Long
Windows("部品表.xls").Activate
検索する = cells(i,2).Value
Windows("コード一覧表.xls").Activate
ActiveWindow.SmallScroll Down:=-3
Selection.AutoFilter Field:=3, Criteria1:="=検索する", Operator:= xlAnd

と、してみたものの、検索しても、その検索結果の隣のセルのコードをどうやって取得すればいいのかが、わかりませんでした。

基本事項は本で学びましたが、呪文のようなコードはよく理解できません。懸命にネットで検索して、訳して理解する努力をしてはいますが。

どうぞよろしくお願いします。

部品表というブックがあります
A列に商品名、B列に商品番号が入力してあります。C列のコードは未入力です。
A列     B列     C列      
商品名  商品番号  コード
モータ  U-1325-L  
ホルダ  R-134256

また、コード一覧表という別のブックには、A列に商品番号と、B列にコードが、何千件も入力されています。

やりたいことは
部品表のC列のコード欄に、コード一覧表ブックから商品番号と一致するコードを貼り付けしたいのです。

部品表は、何百種類もありますので、関数...続きを読む

Aベストアンサー

こんにちは。
とりあえず実用性も踏まえました。
メインの動作はワークシート関数のVLOOKUPをVBA上で使用していますので理解はしやすいかと思います。
また、質問文から察するに「部品表.xls」と「コード一覧表.xls」の両方を開いて処理されていますが「コード一覧表.xls」はプログラム内で開いて閉じているので実行するときは「コード一覧表.xls」は閉じて置いてください。
Option Explicit
Sub Sample()
 Application.ScreenUpdating = False
 Dim I As Long
 Dim xlBook
 Set xlBook = Workbooks.Open("C:\★★\コード一覧表.xls") '★要変更★
 I = 2
 Do While Range("A" & I).Value <> ""
  ThisWorkbook.Worksheets("Sheet1").Range("C" & I).Value = Application.VLookup(ThisWorkbook.Worksheets("Sheet1").Range("B" & I).Value, xlBook.Worksheets("Sheet1").Range("A2:B65535"), 2, 0)
  I = I + 1
 Loop
 xlBook.Close
 Application.ScreenUpdating = True
 MsgBox ("完了")
End Sub

こんにちは。
とりあえず実用性も踏まえました。
メインの動作はワークシート関数のVLOOKUPをVBA上で使用していますので理解はしやすいかと思います。
また、質問文から察するに「部品表.xls」と「コード一覧表.xls」の両方を開いて処理されていますが「コード一覧表.xls」はプログラム内で開いて閉じているので実行するときは「コード一覧表.xls」は閉じて置いてください。
Option Explicit
Sub Sample()
 Application.ScreenUpdating = False
 Dim I As Long
 Dim xlBook
 Set xlBook = Workbooks....続きを読む

Qエクセルで条件に一致したセルの隣のセルを取得したい

下のような「得点」という名前のシートがあります。
(「田中」のセルがA1です。)

 [ 田中 ][ 10 ][ 200 ]
 [ 山田 ][ 21 ][ 150 ]
 [ 佐藤 ][ 76 ][ 250 ]
 [ 鈴木 ][ 53 ][ 350 ]

別のシートのA1セルに、「佐藤」と入力すると、

 [ 佐藤 ]

「得点」シートから「佐藤」の列を見つけて、B1、C1に

 [ 佐藤 ][ 76 ][ 250 ]

のように表示させたいのですが、B1、C1にはどのような式を書けば良いのでしょうか。
「得点」シートでは氏名が重複する事はありません。
IF文を使うと思うのですが、いまいち良く分かりませんでした。

よろしくおねがい致します。

Aベストアンサー

こんにちは!
VLOOKUP関数で対応できます。
IF関数と併用すればエラー処理が可能です。

Excel2007以降のバージョンであれば
B1セルに
=IFERROR(VLOOKUP($A1,得点!$A:$C,COLUMN(B1),0),"")
としてC1セルまでオートフィルでコピー!
そのまま下へコピーすると行が2行目以降でも対応できます。

Excel2003までの場合は
=IF($A1="","",VLOOKUP($A1,得点!$A:$C,COLUMN(B1),0))

としてみてください、m(_ _)m

Q特定のシートのみ再計算させない方法は?

特定のシートのみ再計算させない方法はありませんか?

1つのBOOKに2つのシートがあり、
[sheet1]=自動計算
[sheet2]=手動計算
という設定を行いたいと考えています。

BOOKを分けずにスマートな方法はないでしょうか。

Aベストアンサー

こんばんは。

本来は、ワークシートのプロパティの、EnableCalculation を False にしてあげれば、片方のシートは、手動になります。(プロパティの出し方は、ワークシートをアクティブな状態にして、[コントロールツールボックス]のプロパティを押せば、[シート・プロパティ]が出てきます)

しかし、手作業の設定ですと、ブックを閉じて、再び開けた時には、デフォルトの True に戻ってしまいます。


そこで、VBAによる手段しかありません。

[ツール]-[マクロ]-[Visual Basic Editor] (ショートカット= Alt + F11)
で、

左上に、プロジェクトというエクスプローラがありますから、
その中から、

[ThisWorkbook ]

というのを、ダブルクリックして、エディタ画面を開けたら、

以下のコードを貼り付けて、保存し、再び、このブックを開けると、設定されています。

'---------------------------------------
Private Sub Workbook_Open()
'シート2を手動計算にさせる
ThisWorkbook.Worksheets("Sheet2").EnableCalculation = False
End Sub

'---------------------------------------

こんばんは。

本来は、ワークシートのプロパティの、EnableCalculation を False にしてあげれば、片方のシートは、手動になります。(プロパティの出し方は、ワークシートをアクティブな状態にして、[コントロールツールボックス]のプロパティを押せば、[シート・プロパティ]が出てきます)

しかし、手作業の設定ですと、ブックを閉じて、再び開けた時には、デフォルトの True に戻ってしまいます。


そこで、VBAによる手段しかありません。

[ツール]-[マクロ]-[Visual Basic Editor] (ショート...続きを読む


このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング