• 締切済み

エクセルのファイル間で、行番号を指定してデータ移動

学校で使用する教材を作っている者です。現在、エクセルで1行1問対応で数千題の問題を作っていますが、なるべく先生方が使いやすいようにと考えているところです。そこで、データ(問題)が予め印刷された冊子を見ながら、選択したい問題の行番号を指定するだけで、予め書式設定した別のエクセルファイル(問題用紙用のエクセルファイル)にデータが自動的に転記されるプログラムを考えているところです。データベース用のファイルと転記したいエクセルファイルを同時に開いてコピー・ペーストをしたらよさそうなものですが、より、簡単な操作で問題作成を可能にすることと、流用を防ぐために、データをエクセルファイルの状態で渡したくない、といった事情もあります。 コンピューターについては白紙(白雉)状態ですので、何卒よろしくご教示下さい。 よろしくお願いします。

みんなの回答

  • keithin
  • ベストアンサー率66% (5278/7940)
回答No.2

【方策その1】 ○問題集を「配布はしない」代わりに、実際の運用は職場の実態に合わせてちゃんと考えなきゃいけない Book1.xlsのSheet1のA1からA1000に数字の1から1000まで記入してある Book1.xlsのSheet1のB1からB1000に問題が1000個記入してある Book1.xlsを、とりあえず練習用にあなたのパソコンのC:\testフォルダに保存しておく 配布用のBook2.xlsのてきとーなシートのてきとーなセル(仮にA1)に、問題番号を1から1000の数字で記入する事にする 隣のB1セルには =IF(A1="","",INDEX('c:\test\[book1.xls]Sheet1'!$B:$B,A1)) などのようにして、該当の番号の具体的な内容を参照して表示させる数式を記入しておく。 実際には問題集のBook1はサーバなどに保管して、皆さんに配布したパソコンから参照できるように仕組みをちゃんと考えて作成しなきゃいけません。 【方策その2】 ○サーバとかムズカシイことは出来ないときは、問題集も併せて皆さんに配布する代わりに保護しておく 配布用ブックのシート2に問題集を準備する 配布用ブックのシート1に、シート2から所定の番号の問題文を表示させる関数(方策その1と、使う関数は一緒)を仕込んでおく シート2はシートの表示非表示で非表示にしておく さらに配布用ブックは「ブックの保護」でシートの再表示とか出来ないようにしておく 必要なら更にシート2は「シートの保護」で内容の改変も出来ないようにしておく。

ecohotaru
質問者

お礼

ヒントをいたたきありがとうございました。 少し見えてきた気がします。 勉強しながらいろいろやってみようと思います。 ありがとうございました。

  • denbee
  • ベストアンサー率28% (192/671)
回答No.1

ちょっと整理させてください。 [登場人物(?)]  ・問題原本ファイル   全ての問題が記載されている、問題情報の原本。   先生方はこれを直接参照させない  ・問題原本リスト   問題原本ファイルの内容が紙で印刷されていて、各問題には問題原本ファイルの行番号が記載されている  ・問題参照ファイル:   先生方が利用するファイル。問題原本リストの行番号を入力すると、   その行番号に対応する問題情報を、問題原本ファイルから参照して記載する [やりたいこと(想像)]  1)問題原本ファイルはあらかじめ問題参照ファイルからアクセスできる共有のネットワークのどこかに    置いておく  2)質問者様が問題原本リストを作成して、先生方に配っておく  3)先生方は、問題参照ファイルを使い、使いたい問題の行番号を問題参照ファイルに入力すると    問題原本ファイルを参照して問題情報を取得して、門際参照ファイルのどこかに転記する    (ただし、この操作のときに先生方は直接問題原本ファイルを参照してはいけない) とうことでしょうか? #できますけど、プログラムの知識がないとつらいと思いますよ。 #入力受付インタフェース、ファイルの参照方法、ファイルへのデータの転記など、 #一つ一つはそれほど難しくないですが、組み合わせるとそれなりの知識はいりますね。 #時間がかかっても構わないのであれば、勉強しながら進めればいいと思いますが…

ecohotaru
質問者

お礼

こちら以上によく理解した上で、ご回答いただきありがとうございました。 CDにデータとプログラムの両方を書き込んでおき、プログラムを立ち上げたときに、問題番号(エクセルの行番号)を要求する画面が出て来て、番号を入力すると転記されたファイルが立ち上がるようなものを想定しています。 当然、使用する先生方には行番号とそれに対応する問題がわかるもの、要するに、予め印刷したものを渡しておきます。 先方にとって、問題作成の簡便性という面もありますが、原本を簡単に入手できるようにすると流用の可能性があるからです。 さらに教えていただける情報がありましたら、またよろしくお願いします。 ありがとうございました。

関連するQ&A

  • プログラムについて教えて下さい

    例えば、エクセルで1行1問の問題を作っておき、行番号を選ぶだけで、予め書式を決めておいたワードの画面に自動的に転記するようなソフトは可能でしょうか。 もう少し、具体的に例をあげます。例えばまずエクセルで1行から100行まで、100題の問題を作ります。その中から(エクセルのデータを見ながら)5題を選んで、プログラム用の画面に、選択したい問題の行番号を選んで5個入力すると、予め定められたワードの文章に自動的に転記される、といったソフトです。よろしくご教示お願いします。

  • csvファイルにある20万行のデータをエクセルで

    メモ帳でcsvファイルとしてある20万行近いデータをエクセルに落としたいと考えています。 エクセルの1シートは65000行ほどのデータしか反映できませんが、同じエクセルファイルにシートをいくつか分けて順番にデータを反映することはできますでしょうか?(例:1シート目・1~65000行 2シート目:65001行~130000のような形式で) よろしくお願い致します。

  • エクセルで集計した行の書式を変える

     エクセルのデータベースを集計した時、挿入される集計行だけの書式を変更したいと考えています。オートフォーマットを使えば可能ですが、登録されているものとは違う書式にしたいのです。データの行数がその都度異なるので、集計行の位置は毎回変わります。

  • 複数のエクセルファイルを1つにまとめたい

    定型書式のエクセルデータが数百あります。 その複数のファイルを1ファイルにまとめたいのです。 コピー&ペーストを繰り返すのではなく、簡単にできる方法がありますでしょうか。 よろしくお願いいたします。

  • 1行目と2行目の間にデータを書き出すには・・・。

    私はプログラマではないのですが、会社でPHPプログラムの修正を頼まれてしまいました。 ■現在のプログラム ----------------------------------- $fp = fopen( $CSVFileName, "a+" ); $a = fseek($fp,0,SEEK_END); $ret = fputs( $fp, $CSV_SJIS); fclose($fp); ----------------------------------- 現在は、以上のような方法で新しいデータを追加しているのですが、これをデータファイルの2行目に追加するように変更して欲しいと言われています。 なぜ、そのような要求が出たかというと、データファイルというのがCSV形式のファイルで、1行目にはExcelで処理するための列名(項目名)が入っています。よって2行目に新しいデータを追加したいのです。 どなたか詳しい方がいらっしゃいましたら、回答をお願い致します。

    • ベストアンサー
    • PHP
  • エクセルで、2行程、間にいれたいのですが・・・。

    初めて質問させていただきます。 エクセルにてデータ入力をしているのですが、かなり入力したのちに、2行程、とばしていることに気が付きました。 エクセルについては、そんなに詳しくはないので手探り状態で、「挿入」をクリックしたのですが「データの消失をふせぐため、空白でないセルをワークシートの外にシフトすることはできません。」と出てしまいます。 この、2行を間にいれることは、不可能なのでしょうか・・・・。 お知恵をいただければ幸いです・・・。 宜しくお願いいたします。

  • 大量にあるエクセルのファイルの有る行にデータを差し込みたい

    お世話になります。 大量にエクセルファイルがあります。それらのファイルの有る特定の行にデータ(計算式)を差し込みたいのですが、1個づつやっていると日が暮れてしまいそうです。何かうまい方法は有りませんでしょうか。

  • エクセルのマクロでデータの最終行を判断するには

    エクセルのマクロでデータの最終行を判断するにはどのような構文を書けばいいですか またデータの最終行の次の行から(例えば15行目までにデータが有る場合16行目から)他のブックからコピー・ペーストするににはどうしたら良いですか わかりにくくすいません

  • Excelの[データ]-[並べ替え]で困っています

    Windows XP 上で、Excel(バージョン2002) を使っています。 CDのデータ管理で、各列にそれぞれ、CDナンバー、作曲者、曲名、演奏者、録音場所といった名称をつけて分け、この見出し行のみを「ウィンドウの固定」機能で、スクロールから独立させています。 調べたい内容によって、それぞれの項目に優先順位を付けて「並べ替え」をするのですが、この挙動が、少し前からおかしくなってしまいました。 というのは、[データ]-[並べ替え]で出てくるダイアログ内の「範囲の先頭行」のところが、「タイトル行」にチェックされている状態がデフォルトであったはずが、「データ」にチェックされた状態がデフォルトに固定されてしまい、作業をする時には、いちいち「タイトル行」にチェックし直さなければならないのです。 最近手を加えたことと言えば、いくつかのセルを色分けする必要が出てきて、[セルの書式設定]-[パターン]で色を付けたところ、並んだセル同士の境界が見えなくなったので、明示的に[セルの書式設定]-[罫線]で、データ部分の列に対して、全行のセルを薄い点線で囲むようにした、ということくらいです。(データが入っているのは、22列×3000列です) ためしに、数週間前の同じファイルのバックアップデータを開いてみたところ、こちらでは、問題なく「タイトル行」チェックがデフォルトになりました。 それで、全選択をして罫線を外してみたのですが、やはり直りません。 また、バックアップを元にして新しいファイルを作り、ここに現在のデータ部分をコピー&ペーストしてみても、やはり「データ」チェックがデフォルトになってしまいます。 こうなると原因が全くわかりません。 考えられる原因と対処をご教示願えれば幸いです。 よろしくお願いします。

  • エクセルへデータとして落とせませんか?

    こんなことできませんか? 冊子になっている数ページの行データをスキャナーか何かで取り込んで、それをエクセルデータに変換し利用したいのですが、そんなこと無理ですか?

専門家に質問してみよう