• ベストアンサー

EXCELで無限ループになってしまいました.

EXCELで 例えば C1に =A1*B1 E1に =C1*D1 でE1をC1に移動するとループになりますよね. その場合はどうすれば言いのですか? 実際にはsheet10!D32424の値をsheet1のR32に移動するとループになります.

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

  • ベストアンサー
  • zap35
  • ベストアンサー率44% (1383/3079)
回答No.2

質問にあるとおりの入力を行い、E1をC1に移動するとC1は#REF!エラーになります。これは「ループ」とは呼びません。「循環参照」です。例えばA2セルに =A2 と入れてみて下さい。エラーメッセージがでるはずです。 エクセルの数式で、その数式を入力したセルの値を参照する場合循環参照となりエラーになります。循環参照があると計算結果は不正となり、エクセル画面の一番下に小さく「循環:セルのアドレス」が表示されているはずです。 どうすればよいか。それは数式で「自分のセルドレスを参照しない」ように修正すればよいです。 なお「ループ」とはプログラム(EXCELのマクロを含む)で処理が無限に終わらない状態を言うのが一般的です。この質問の場合はあまり適切な表現ではありませんね。

その他の回答 (2)

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

こんばんは。 一体、何を求めるかであって、式の移動によるエラー(参照エラー #REF!)は、結果論ではありませんか? >実際にはsheet10!D32424の値をsheet1のR32に移動するとループになります. だから、Sheet10の D32424 の値を、Sheet1のR32 に求めるのであれば、=Sheet10!D32424 と入力すれば、その値は得られるわけです。移動と考えるから、分からなくなるのではありませんか?式によって得ようとするセルの値(参照セル)なのだと思います。

回答No.1

私の理解力不足をさらすようで恥ずかしいのですが、ご参考まで。 何をなさりたいのか、良く分かりませんでした。数式で書くと ・・・A*B*(A*B*(C*D)*D)*D・・・ のような計算をされたいということでしょうか。数式でも無限大乗になるのでしたら、Excelの数式/関数やマクロでも計算できないと思います。 再帰呼び出しの例として、階乗が取り上げられることがあると思いますが、このような事例であれば、階乗がそうであるようにユーザー定義関数を作成すれば対応可能と思います。

関連するQ&A

  • エクセル関数

    エクセル関数 エクセルのVLOOK関数で Sheet1のB2、C2,D2と、Sheet2のB2,C2,D2が同じ値であった場合,sheet2のE2の値をSheet1のE2に入れたい場合どのような式を書けばいいのでしょうか? 何度もやってみたのですが、うまくいかず教えてほしいです。

  • sheet1、sheet2の値をsheet3に集めたい。

    エクセルについて教えてください。 山田君のテストの結果 sheet1に、中間テスト結果A1B1C1D1E1、 sheet2に、期末テスト結果A1B1C1D1E1があり、 sheet3のA1B1C1D1E1、A2B2C2D2E2に 移動させていと考えています。 されに、小島さんのテスト 中間テスト結果が、sheet1のA2B2C2D2E2、 期末テスト結果が、sheet2のA2B2C2D2E2 にあり、それら2つを sheet3のA3B3C3D3E3、A4B4C4D4E4 に続けて移動させたいです。 実際は、2人だけではなく、 約200人以上を続けてsheet3に集めたいと思っています。 連続的に集めるためには、 どうすればよいか教えてください。 よろしくお願いします。

  • 制御系の閉ループ系と開ループ伝達関数(一巡伝達関数)の求め方

    教科書の定義がよく分かりません。 フィードバック系で 「G=H/1+GH のとき、GHを開ループ伝達関数という。」といわれても、 全くしっくり来ません。 またもっと複雑な制御系の場合だと、どうなるのかすらもわかりません。 たとえば     |------A----| |d R   |        |  | ----------B---------------C------------D-----------y                  |         |                    ---E--------- r,d,yはそれぞれ、入力、出力、外乱 またAの部分はフィードフォーワード、Eの部分はフィードバックです。 図の意味は入力RがAとBに分かれて、また合わさり、外乱dが入ってきてEから来たフィードバックと合わさり、Cに入り、Eの方にフィードバックし、Dに入り、出力されるといった意味です。 このようなときは、閉ループ・開ループ系はどうなるのでしょうか? よろしくお願いします。

  • EXCELデータの縦横変換について教えて下さい

    数値はランダムですか奇数行には+の値、偶数行には-の値が 入っているシートから(+/-の値は同じではありません)別 のシートに次の様に移したいのですが方法はありませんか? 移動元シート: A B C D E F 1 + 19 18 17 16 15 2 - 29 28 27 26 25 3 + 39 38 37 36 35 4 - 49 48 47 46 45 5 + 59 58 57 56 55 6 - 69 68 67 66 65 7 + 79 78 77 76 75 8 - 89 88 87 86 85 移動先シート: A B C D E 1 + 19 39 59 79 2 - 29 49 69 89 3 + 18 38 58 78 4 - 28 48 68 88 5 + 17 37 57 77 6 - 27 47 67 87 移動元の B1,B2 C1,C2 D1,D2 の組となっている値を 移動先の B1,B2 B3,B4 B5,B6 に移したいです。 データ数としては横は8個、縦は200行程度です。

  • 「エクセルでのデータ検索」について

    「エクセルでのデータ検索」について 基本的な質問ですいません。 エクセルで、以下のようなことをしたいのですが・・・ 【シートA】   A  B  C  D E 1   ○ △ □ ◇ 2 あ ※ ※ ※ ※ 3 い ※ ※ ※ ※ 4 う ※ ※ ※ ※ (※は任意の数値) このとき、【シートB】に以下のように「◇」「う」と入力すると “B2”欄に【シートA】の“E4”(=「◇」と「う」の交差する位置) の値が出るようにしたいのです。  【シートB】   A  B  C  D E 1   ◇ 2 う 3 4   ちなみに【シートB】に入力する値はその都度変わるので、VLOOKUPや INDEXではうまくいきませんでした。 実際は長めのマクロで行っている作業の内の一部ですので、「関数」でも 「マクロ」でも、どちらでも対応できます。 ご教示のほど、よろしくお願いいたします。   

  • エクセル関数について

    エクセルでセルA1に1、B1に2・・・・・Iに、J1に10が入力された表があります。また、A2に1、B2に3、C2に5、D2に7が入力されています。A2からD2を検索してA3に1、C3に1、E3に1、G3に1を入力します。次に、A2からにD2に2,4,6,8、と入力して同様にB3、D3、F3、H3に1が入るようにしたいのです。 このとき、1,3,5,7の値と2,4,6,8、の値が消去されず。またA2からD2に再度異なる数を入力した場合3列の値に1が加算されるようにしたいのですが、教えてください。

  • エクセル関数でちょっと悩んでます。

    エクセル関数でちょっと悩んでます。 sheet1にセルB4、C4、D4、B5、C5、D5(グループ1)とI4、J4、K4、I5、J5、K5(グループ2)にデータが入っているとします。 sheet2のB3、C3、D3、E3、F3、G3にグループ1のデータを記入します。 B4、C4、D4、E4、F4、G4にはグループ2を入れたいのですが、sheet1からみて列7つ移動したものとして記入したいです。どうやればいいですか? 例えば、sheet2のB3には、=Sheet1!B4を入れれば反映されます。 sheet2のB4にはsheet1のI4を入れたいのですが、sheet1からみて列7つ移動した形でエクセル関数を使って表現したいのです。どうやればいいですか? =Sheet1!B4+?

  • エクセルVBAの問題?

    Excelのファイルがあります。 例として sheet1: ********************************************* Jan-O4 Feb-04 Mar-04 Apr-04 a1-------b1------c1-----d1 a2-------b2------c2-----d2 a3-------b3------c3-----d3 May-04 Jun-04... e1-------... e2-------... e3-------... ********************************************* (注:-は空白の事です、04は2004年の事です。) sheet2: ********************************************* Feb-04 Mar-04 Apr-04 May-04 b1------c1-----d1------e1 b2------c2-----d2------e2 b3------c3-----d3------e3 Jun-04 July-04 ...----... ...----... ...----... **************************************** (注:-は空白の事です。) sheet1からsheet2ができるようにしたいです。 (毎月同じようなの操作の繰り返しです) すなわち、来月になるとsheet1の最初の月のデータを削除して、残りのデータをsheet2にコピー、最後sheet2に新しい月のデータを入力する、データの量はいつも半年のデータです、表のデザインも同じです。 ただ、実際データの量が多いので、普通のセルコピー、シートコピーのようなのやり方、時間が掛かります。 ほかにいい方法がありますか?(VBAなど?) 教えてください! できれば、サンプルも欲しいです。 お願いします。

  • エクセルAとエクセルBで同じ項目があった場合Bの内容をAにコピーする。

    始めまして、マクロ初心者ですが、何とぞ宜しくお願いします。 エクセルAのシートA A* 学校名 B* クラス数 C*生徒数 D*男子 E*女子 A?    B?     C?    D?   E? A* の 「*」には行番号が入りますが、可変行数が入る感じです。 エクセルBシートB A1 学校名 B1 クラス数 C1 男子 D1 女子 E1 生徒数 A2 A中学 B2 4クラス C2 60人 D2 60人 E2 120人 A3 B中学 B3 5クラス C3 70人 D3 80人 E3 150人 A4 C中学 B4 1クラス C4 10人 D4 20人 E4 30人 現状A1、B1、C1 がタイトルとしていますが、この部分の行数も可変となってます。 エクセルのシートAで実行した場合、エクセルシートAとエクセルシートBで同じ項目がある場合、 エクセルシートBの内容をエクセルシートAにコピーします。 コピー例: エクセルシートBとAで同じ「学校名」という項目があった場合、 エクセルシートBの「学校名」の下「A2」からしたの文字列全部を エクセルシートAの「学校名」の下「A?」にコピーします。 またエクセルシートAの検索内容をエクセルシートCで指定できれば 幸いです。 エクセルシートCの指定例: エクセルシートAが下記の場合 A6 学校名 B6 クラス数 C6生徒数 D6男子 E6女子 エクセルシートBが下記の場合 A1 学校名 B1 クラス数 C1 男子 D1 女子 E1 生徒数 エクセルシートCに下記の内容を指定したら其の範囲をコピー A1 A6 ←シートAの検索開始箇所 A2 E6 ←シートAの検索終了箇所 A3 A1 ←シートBの検索開始箇所 A4 E1 ←シートBの検索終了箇所 説明が判り難い箇所が有りますが、何とぞ宜しくお願い致します。

  • EXCEL

    A-B-C-D-E-F-G 1-A-W-A-1-B- 2-B-A-N-2-C- 3-C-K-A-3-B- 4-D-A-I-4-E- 5-E-R-X-5-A- 例えば,エクセルで表のようになっている場合に, 列AにF1の値(表の場合は文字B)で検索をかけ,検索に該当した行(表の場合では行2)の列Dの値をG1に表示する方法はあるでしょうか?? 簡単に言うと,列Gに自動的にFに対応するDの数値を入力したいのです.自動的に列Gを下の表のようにすることは可能でしょうか? A-B-C-D-E-F-G 1-A-W-A-1-B-2 2-B-A-N-2-C-3 3-C-K-A-3-B-2 4-D-A-I-4-E-5 5-E-R-X-5-A-4 投稿すると文字がずれてしまって表が見難くてすいません. どなたか,ご教授よろしくお願いします.

専門家に質問してみよう