エクセルデータテーブルの代入セルを別シートにする方法

このQ&Aのポイント
  • エクセル2007のデータテーブル機能を使用する際、結果の表示シートと計算のシートが別である場合、代入セルの参照が正しくないというエラーメッセージが表示されることがあります。
  • データテーブル機能は、最大2つのパラメータを使用して容易に計算結果を出力することができます。
  • しかし、シート3に結果を表示させるという場合、正しく動作しない場合があります。代わりに、同じシートで実験すると正しく動作することが確認されています。
回答を見る
  • ベストアンサー

【エクセル】データテーブルの代入セルを別シート

エクセル2007のデータテーブル機能で質問です。 現在、大きくシートが3つあり、シート1には計算部分、シート2にはシート1で使う基礎情報の入力部分、シート3には結果表示としたいと考えてます。  ここでシミュレーションを行う際に、データテーブル機能というものがあり、パラメータ2つまでをかなり容易に計算結果を出力できることを知りました。そこで、シート3にマトリックスのように2つのパラメータを作成し、発動させようとしたところ、「代入セルの参照が正しくありません」とメッセージが出て、うまくいきません。  同じシート1で実験するとうまくいきます。  そこで質問ですが、このようにデータテーブル結果の表示シートと計算のシートが別ではだめなのでしょうか。

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

  • ベストアンサー
回答No.1

yukiyakinikuさん 今晩は! >そこで、シート3にマトリックスのように2つのパラメータを作成し、>発動させようとしたところ、「代入セルの参照が正しくありません」 >とメッセージが出て、うまくいきません。 ■奥が深い「テーブル」機能(第17回)Excel2007の新機能↓ http://pc.nikkeibp.co.jp/article/NPC/20061012/250582/?P=2 内容:「=[国語]+[数学]+[英語]」のように列見出しを使って数式を作成できるので、セルの番地を指定するより数式の意味が理解しやすい。 上図のセルG3には「=AVERAGE(テーブル3[国語])」という数式を入力した。テーブルの外で使用するときは、列指定子の前にテーブルの名前を指定しなければならない。テーブルの名前は、リボンの「テーブルツール」→「デザイン」を開くと、左端の「テーブル名」ボックスに表示される。テーブル名は重複しない限り、任意の名前に変更可能だ。 ■テーブルとは(Excel2007)↓ http://www.becoolusers.com/excel/table.html 内容: ■テーブルに変換(Excel2007)↓ http://www.becoolusers.com/excel/table-convert.html 内容:テーブルに変換したい範囲のセルならどれでもいいので、どれか1つを選択します。 テーブルに変換する範囲が正しいかを確認し、[先頭行をテーブルの見出しとして使用する]にチェックを付け、[OK]ボタンをクリックすると・・・ テーブルに変換できました! *テーブルに変換する範囲が絶対値範囲で設定されていますのでシート外から参照する場合はテーブル名を使用して参照する設定にすれば可能でしょう。(当方2007が購入出来無いので未検証ですが)

yukiyakiniku
質問者

お礼

ありがとうございます。 早速試してみようと思います。助かります。

関連するQ&A

  • VBAを使ってシートAの3ヶ所のセルでシートBの計算式を行う。

    シートA    シートB   A B C D     A B C D 1 10 20 30 ()   1 10 20 30 (計算式) 2 10 20 30 () 3 10 20 30 () 4 10 20 30 () (1)シートAのA1,B1,C1をコピーしてシートBのA1,B1,C1に代 入する。D1には計算式が入っているので結果が表示される。 (2)シートD1の計算結果をシートAのD1に代入する。 (3)次はシートAのA2,B2,C2をコピーしてシートBのA1,B1,C1 に代入する。D1には計算式が入っているので結果が表示される。  シートD1の計算結果をシートAのD2に代入する。 (4)上記の動作をシートAのA列のセルに数字がある場合は繰り返し行  う。

  • ACCESS クエリでのデータシートが…

    毎度毎度お世話になっています。 メインテーブルには、10000件以上のデータが記入されており、 それをクエリを使って部分一致による抽出を行っています。 抽出結果をフォームで表示させているのですが、その際、 どうしてもデータシートが一緒に表示されてしまいます。 データシートが表示されると他の人にいじられてしまう可能性が あるので、なんとか非表示にしたいのですが、できますでしょうか。 よろしくお願いします。

  • Excelで別のシートの内容を表示させたい

    Sheet1のA2からC50までの範囲にデータを出力し(どこのセルに入るかは可変)、 その内容に従ってSheet2の決まったセルに表示させたいのですが、どのような式にすれば良いか教えて下さい。 条件を言葉で書くと、 Sheet1のA列に001があれば、その行のC列の値をSheet2のJ8に表示する。 参考に、Sheet1のA列はコード名、B列は計算内容、C列は計算結果が別のデータベースから出力されます。 計算結果が0だと出力されず、出力したものは2行目(1行目はタイトル行)から詰めて入ります。 その結果、A2からC50までの範囲のどこに入るかわからないのです。 よろしくお願いします。

  • accessテーブルデータシートに日付非表示

    アクセスで以前から使用しているテーブルに当日の日付 date() のフィールドを追加しても、データシートに表示されません。 フィールドは表示されますが、データシート内が空です。 テーブル内には他に日付/時刻型のデータが既に一つ設定されています。 新規で作ったテーブルで同じように作業すると、きちんと表示されます。 おかしいとしたら、どこチェックすれば良いでしょうか。 テーブルのフィールドプロパティの画像を添付します。 どうかご回答お願いいたします。

  • VBA 別シートの計算表

    Excelについて。 シートAに、計算表があります。 セルa1に入力した値によって、いくつかのExcel関数を利用して、 セルb1に結果を出力しています。 いつも、手入力でセルa1に値を入力して結果を求めていますが。 今度、シートBに膨大な入力するための数値があるので、VBAで自動化できないかと考えています。 今回の質問は、VBAで記述する際に、シートAの入力セルa1に、シートBの入力値を1つずつ代入していき、結果のセルb1をシートBの入力値の隣に出力していこうと考えています。 シートAのa1に入力値を代入して、すぐに結果b1の値を結果出力セルに代入していいのでしょうか? 計算表(シートA)での計算を時間をおく必要があるのでしょうか?=一旦、他のセルを選択するなど。 よろしくお願いします。 ・計算表での計算時間は、1秒未満です。 ・計算表の計算過程もVBAで書けば済む話ですが、プログラミングには疎いので、計算表をそのまま利用したいと考えています。=入力の代入だけVBAで書いていきたいと思います。 ・その他、アドバイスなどいただければ幸いです。 よろしくお願いします。 Excel2010

  • シート2から1行単位でシート1の指定セルに代入し印刷データがある行まで

    シート2から1行単位でシート1の指定セルに代入し印刷データがある行まで繰返すマクロ (QNo.6233212の仕様追加質問です。) シート1に印刷用の雛形、シート2にデーターシートがあります。 (データーがある行数は都度変更) シート2のデータから指定したセルの値を シート1の指定したセルに順次代入したいです。 シート2の2行目の指定したセルの値を シート1の指定したセルに代入してシート1を1枚印刷。 その後シート2の3行目の指定したセルの値を シート1の指定したセルに代入してシート1を1枚印刷。 これをシート2のデータがある分繰返。 シート2のデータがなくなったら 「印刷終了」と出て印刷停止。 というのをシート1に作成したボタン一つで行いたく QNo.6233212で教えていただいた記述で成功しました。 この後仕様変更で、 シート1に代入し印刷前にシート2から代入された値を Left関数等で編集を行いそれをシート1の別指定セルに代入 シート2→シート1 A2→B4 J2→D21 G2→G18 C2→C2 ↓追加 シート1のB4に代入された値の左から4文字目以降をセルA1へ シート1のG18に代入された値の左から2文字から6文字目までをセルA2へ 以下の用にしましたができません。 ↓ Worksheets("Sheet1").Range("A1").Value = Left(D21,4) Worksheets("Sheet1").Range("A2).Value = Mid(G18,2,5) ここはマクロでなくシート1のA1,A2に式を入れる方がいいのでしょうか? (代入された値をSelect Caseでさらに変更も予想有) Sub 印刷02() 'シート2の1行目の指定したセルのデータをシート1の '指定したセルに転記を行いシート1が印刷される。 '印刷後はシート2の2行目の指定したセルのデータを 'シート1の指定したセルに転記してシート1が印刷される。 'シート2にデータが無くなったら停止する。 '↓【データ変更時変更場所】 'データ数に合わせてToの右の数字を変える事 Dim myRng(1 To 4) '変数宣言 Dim cpRng '貼付位置をcpRngとする Dim i As Integer With Sheets("Sheet2") '↓【データ変更時変更場所】 'データの位置の変化や増減はここを変更する Set myRng(1) = .Range("A2") 'データ位置設定 Set myRng(2) = .Range("J2") 'データ位置設定 Set myRng(3) = .Range("G2") 'データ位置設定 Set myRng(4) = .Range("C2") 'データ位置設定 End With '↓【データ変更時変更場所】データ数の増減でここを変更 '↓【転記位置変更時変更場所】 'データの転記先だけが変更時もここを変更 cpRng = Split("B4,D21,G18,B15", ",") '転記先セル番地を配列に格納 With Sheets("Sheet1") Do While myRng(1) <> "" 'A列のデータ位置が空白でなければ '↓【データ変更時変更場所】 'データ数に合わせてToの右の数字を変える事 For i = 1 To 4 'データの数だけ繰り返す .Range(cpRng(i - 1)).Value = myRng(i).Value 'セルデータ転記 '【追加した記述】代入された値をさらに編集して別セルへ Worksheets("Sheet1").Range("A1").Value = Left(D21,4) Worksheets("Sheet1").Range("A2").Value = Mid(G18,2,5) Next .PrintOut '印刷 '↓【データ変更時変更場所】 'データ数に合わせてToの右の数字を変える事 For i = 1 To 4 Set myRng(i) = myRng(i).Offset(1) 'データ位置を1行下に設定 Next i Loop '繰り返し '↓【データ変更時変更場所】データ数の増減でここを変更 '↓【転記位置変更時変更場所】 'データの転記先だけが変更時もここを変更 .Range("B4,D21,G18,B15").ClearContents 'クリア End With '↓【データ変更時変更場所】 'データ数に合わせてToの右の数字を変える事 For i = 1 To 4 Set myRng(i) = Nothing '後処理 Next MsgBox "印刷終了" End Sub

  • データシート上の計算について

    お世話になります。Access2002のフォームのデータシートでの計算についてご教授願います。 計算させる上での構成としましては、 1.マスターテーブルが存在し、そこにデータを格納する 2.マスターテーブルに格納するデータは別個に品目テーブルを参照して固有のIDのみをインプットさせてたい。 すなわち、品目テーブルの値(ID値、品目名、単価)が存在し、マスターテーブルに品目テーブルのIDのみを格納し、データシート上では個数を入力させると、自動的に計算させたいです。 <マスターテーブル>は、ID、M_ID、数量という構成をとり、品目テーブルは、M_ID、品目名、単価という構成をとり、M_IDでリレーションをとっています。 データシート上は、マスターテーブルのM_IDでコンボボックスをつくり、マスターテーブルのM_IDのコンボボックスは品目テーブルの品目と単価をデータで持っています。 データシート上での計算のしかたについてよろしくお願いいたします。 不明点がありましたら、補足いたします。

  • TD62783AFGの使い方(データシートの見方)

    ドットマトリクスLEDを使う際に、使おうと思っています。 ですが、データシートを見てもあまりよく分からないので質問させていただきます。 絶対最大定格 出力電流 IOUT = -500 mA クランプダイオード順電流 IF=500 mA LEDに流れる電流が1ピンあたりどのくらいなのか、 どう計算すれば良いのか(データシートの見方)が分かりません。 3V流した場合、LEDにはどのぐらいの電流が流れるのでしょうか? できれば、データシートの見方(考え方)を教えていただけるとうれしいです。

  • エクセルVBA データを別シートに書き込む

    エクセルの、あるシートのデータを、別シートの項目条件の一致するセルに 書き出す方法を教えていただけますでしょうか?  元のシートには  A列     B列    C列 ID番号 年月日番号  金額 ID番号 年月日番号  金額 ID番号 年月日番号  金額  ・      ・       ・  ・      ・       ・ という形で、データが入っています。各列でデータには重複はありますが、   A列とB列の内容が共に同じという行は、ありません。 これを列項目がID番号、行項目が年月日番号の、金額を参照する表にしたいのです。 新しいシートのA列に降順に全ID番号を、1行目に同じく全ての年月日番号をいれ、 元のシートのC列データ(金額)を新しいシートの該当セルに書き込むには どのようにすればいいでしょうか?このような感じで‥。    月日1 月日2 月日3‥‥ ID1 金額  金額  金額 ID2 金額  金額  金額 ID3 金額  金額  金額  ・  ・  ・ 実は元のシートは10枚ほどあり(期間で区切っています)、おまけに各シートには 登場しないID番号もあります。 そこで、すべてのID番号と年月日番号をまとめ、ひとつのシートにしたいと考えた次第です。 1枚のシートならばピボットテーブルで何とかなるのですが、それをまとめようとすると、 データの量が膨大で、PCがとまってしまう(のか計算が終わらない気が‥) VBAを使えば何とかなるのかもと思いまして、質問いたしました。 エクセルは2007です。 どうぞよろしくお願いいたします。

  • Excel テーブルについて

    Excel2010を使用しています。 知人から受け取った表計算のテーブルが、どこを参照されているのかがわかりません。 使用されているテーブルはいくつかあり、そのうちの7つは数式タブの名前の管理から見つけ利用られるのですが、ある箇所のセルに参照がされているテーブル名が、その名前の管理にもでてこなくて、シート名にもありません。参照先のトレース、参照元のトレースをすると参照されている同一シート内のセルに矢印が表示され、参照されているテーブルマークにも矢印が表示されるのですが、その名前のテーブルを探してもどこにもみあたらないのです。 このテーブルの設定範囲を探すには、どのようにすれば見つかりますか? よろしくお願い致します。 この表の作成者と連絡がつかないので、こちらで質問させて頂きました。

専門家に質問してみよう