エクセルのセルの数値を抜き出して計算する方法とは?

このQ&Aのポイント
  • エクセルシートのセルの数値を別のパソコンで取得・計算し、エクセルに表示する方法を教えてください。
  • データロガー装置のデータにリンクしているエクセルのセルの数値を、他のパソコンで取得・計算して表示するにはどうすればいいですか?
  • VBを使わずに、エクセルのセルの数値を別のパソコンで抜き出して計算し、エクセルに表示する方法を教えてください。
回答を見る
  • ベストアンサー

エクセルのセルの数値(随時更新)を抜き出したい

 パソコン1で表示中のエクセルシートのセルの数値を、LAN接続の他のパソコン  PC2で数値を取得・計算して、エクセルなどで表示したい。   ・パソコン1のシートは開いている状態で、セルの数値は随時更新されています。   (232C接続のデータロガー装置のデータにリンクして、数値が更新されています)    ですので、「読み取り専用」で開いても、数値が更新されません。  ・データロガーは旧タイプで、ソフトの機能ではCSVファイルなどは吐き出せません。  ・ファイルが開いたままなので、VBでは抜き出せない・・と以前VBエンジニアに言われました。  <実行したい事>   1、セルの数値を抜き出す(他のPCから操作して)   2、個数は10個程度   3、抜き出した数値を計算(変換など)してエクセルに表示したい     私、VBが書けません。labview、LINGO(adobe director), エクセルのマクロは 少しは書ける程度でしかないのですが    方法の概要だけでも教えていただければ助かります。      よろしくお願いします。      

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

  • ベストアンサー
  • tsubuyuki
  • ベストアンサー率45% (699/1545)
回答No.3

http://www.symantec.com/ja/jp/pcanywhere のような「リモートアクセスソフト」を使うのも手段の一つかもしれません。 ちなみに > ロガーのエクセルファイルにマクロを組んで入れても大丈夫かどうか そのやり方でも良いと思いますが、 「同じパソコンなら保存していないが開いているファイルからでもデータは抜ける」ので、 別な「抜き取り用のブックを作成し、同時に起動」させておいても良いと思います。 ついでに、 > 2秒ぐらいに1回抜き出す とのことのようで。 Sub This_MACRO() Dim myTime As Date   myTime = Now() + TimeValue("00:00:02") '指定時刻(現在時刻の2秒後)     With Range("A1")   '処理(先はサンプル、A1に現在時刻を表示)       .Value = Now()       .NumberFormatLocal = "hh:mm:ss"     End With     Application.OnTime myTime, "This_MACRO"    '指定時刻が来たら「This_MACRO」というマクロ(つまり自身)を実行 End Sub こんな感じで無限ループできたりします。 何かの参考までにどうぞ。

muakasiyamaneko
質問者

お礼

お礼が遅くなりすみませんでした。 ありがとうございました。  「別なブックを作成」!!なるほど!そうなんですね。  教えていただいてホントに助かりました。 マクロも買いていただいて大変助かりました。 この方法でやらせていただこうと思います。 ありがとうございました。

その他の回答 (2)

  • bunjii
  • ベストアンサー率43% (3589/8248)
回答No.2

>パソコン1で表示中のエクセルシートのセルの数値を、LAN接続の他のパソコンPC2で数値を取得・計算して、エクセルなどで表示したい。 パソコン1で表示中のデータはExcelシートの特定セルと言うことでしょうか? 常識では考えにくいのですがリアルタイムでデータロガーからExcelシートに取り込めるのであれば同時にCSVファイルへ定時書き出しが可能なはずです。 業務用のシステムと推察しますので計測システムの専門業者に委託してデータ処理用のプログラムを作成してもらうことをお勧めします。 >・パソコン1のシートは開いている状態で、セルの数値は随時更新されています。 と言うことは時間間隔でパソコン1がデータロガーから読み取ると思われます。 またはデータロガーから一定時間間隔でRS-232Cへデータを出力し、パソコン1はRS-232Cポートにデータが届いた時のフラグで読み込む仕組みになっていると思います。 モニターに表示することとファイルにデータを書き込むことはパソコン1でできるはずです。 >・データロガーは旧タイプで、ソフトの機能ではCSVファイルなどは吐き出せません。 推測ですがそのデータロガーは計測データの読み取りとRS-232Cポートへの吐き出しのみで記録機能が無いと思います。 従って、パソコン1はRS-232Cポートから取り込むソフトとExcelの連携で特定セルへ表示しているものと思います。 VBに限らずC++等のプログラミングでデータロガーから計測データを取り込むことが難しくないと思いますので、計測システムの専門家であれば容易に処理できると思います。 >1、セルの数値を抜き出す(他のPCから操作して) PC2からPC1(パソコン1)の作業中Excelデータを盗聴することは高度なハッキングになり簡単ではありません。 >2、個数は10個程度 1回の読み取りデータが10個程度と言うことでしょうか? 時間間隔はどの程度ですか?(秒/分/時) 1台のデータロガーで1回に10ポイント程度の処理は無理のない範囲かと思いますが、測定間隔が問題になるかも知れません。 >3、抜き出した数値を計算(変換など)してエクセルに表示したい PC2ではPC1と違う目的でデータ処理をしたいということですよね? 計測・データ処理システムとして専用ソフトが必要と思います。 このサイトでは考え方のアドバイス程度になるかと思われます。

muakasiyamaneko
質問者

お礼

ご回答ありがとうございます。  ロガーメーカーにも確認して、CSV書き出しができるバージョンとか、オプションなど  を聞いてみたいと思います。(本体が古いので、どうかわかりませんが)      開いているファイルから抜き出すのは「高度なハッキング」ほど困難なことは知りませんでした。  ・・いろいろ調べても何も載っていなかったはずなんですね。そうですよね。  ロガー自体のサンプル周期は数百ミリSECで50個程度のサンプリングなのですが   欲しいのは、数値は10個程度を、2秒ぐらいに1回抜き出すレベルなので  ロガーソフトとしては簡単だと思うのですが・・・。  とりあえずメーカーに確認してみます。  ありがとうございました。

  • tsubuyuki
  • ベストアンサー率45% (699/1545)
回答No.1

> ファイルが開いたままなので、VBでは抜き出せない・・と以前VBエンジニアに言われました。 この一言に尽きるでしょう。 保存していないなら、他のパソコンで参照するのかなり手間です。 逆に言えば、保存さえしてしまえば他のパソコンから参照するのは容易です。 > ソフトの機能ではCSVファイルなどは吐き出せません。 これを「パソコン1」のエクセルにやらせてしまえば良いです。 つまり流れとして ・パソコン1の数値が更新される ・パソコン1のエクセル上で他のファイルに書き出す ・パソコン2で上記ファイルを読み込む コレで疑似的に実現可能だと思います。 パソコン2側のエクセルブックには、 自動生成されたファイルへのセル参照でも入れておけば 当該ファイルを開かずに編集・更新(F9キー)が可能です。

muakasiyamaneko
質問者

補足

早速なご回答ありがとうございます。 「パソコン1」のエクセルにやらせて・・・とは  表示させるエクセルファイルにマクロを組んでおいて、更新しているセルの数値を  一定間隔で抜き出して、他のファイルに保存するように(自動実行)して・・・という方法  でしょうか?  ・・・このロガーのエクセルファイルにマクロを組んで入れても大丈夫かどうか     確認してからやってみたいと思います。  結論としては、表示しているエクセルファイル以外では、開いているファイルからは   データを抜くのは超困難・・と言うことですね。    

関連するQ&A

  • Excelのセルに更新があれば、他のセルに渡したい

    1.更新されたExcelのセル内の数値をとりだしたい。 2.其のデータを順にセルに渡していきたい。 Excel にて、DDEサーバからデータをうけとっています。 セルA1に受け取ったデータは1分間に何度も更新されます。 其のデータを更新されるたびにB1,B2,B3,B4,・・・のセルに値を 入れていきたいのですがうまくできません。 その理由は、A1セル内の式をコピーしてしまうからです。 A1のセルで更新された「数値のみ」をB1,B2,B3,B4,・・・のセルに コピーするにはどうすればよいでしょうか?

  • エクセルで100万~500万のセルには、セルの数値の10%を乗じる計算

    エクセルで100万~500万のセルには、セルの数値の10%を乗じる計算式を教えてください? 経費の計算式で、対象セルの数値が100万~500万の場合は、10%といった計算式を作りたいと思っています。 計算式により、A1が 1,300,000 の場合は A2は 130,000(10%)といった計算です。 お手数ですが、ご教授願います! 

  • エクセルでセルの貼り付けができない

    エクセルで別のシートの数値を貼り付けるのに=の後に 直接セル番号を指定して貼り付けようとすると=のあとに計算式が表示されて数値の貼り付けができません。何故でしょうか?どなたか教えて下さい!

  • EXCEL セル内の数値から、5桁目だけを抽出する方法について

    EXCELシートのセル内に、以下のような30桁からなる数値が入力されている 列が複数あります。 この列内の数値の右端から「5桁目」だけ、または左端から「10桁目」だけを 抽出したいと思っているのですが、EXCELの仕様で数値の先頭にある「0」は 表示されないため、各セルごとに表示されている数値の桁数はバラバラです。 数値の先頭に「0」が付いているセルが多数あり桁数が不揃いなことと、 数値が30桁もあるため、セルの数値表示が「1E+29」のように「E+29」で表示 されてしまっており、うまく数値を抽出することが出来ません。 ◆元データ   「列1」     (1) 1234567890  →(本当は30桁:000000000000000000001234567890)    (2) 111111111100000000001111111111   (3) 1      →(本当は30桁:000000000000000000000000000001)  (4) 123456789012345678909999999999  ◆右端から5桁目だけを抽出する   「列1」      (1)  6      (2)  1      (3)  0      (4)  9   お手数お掛けいたしますが、ご指導下さいますよう宜しくお願い致します。

  • エクセル内の数値が突然和暦日付表記に変わった。

    WIN10でエクセル2016を使っています。1シート内にかなりの文字列や数値の入ったシートで、突然数値のセルが和暦の年月日表示に変わってしまいました。数値については、直接打ち込んだもの、他のセルを参照に関数計算結果を表記したものなどです。 このファイルは数年間使っているもので、同じファイル内の別シートも変わっていました。 とりあえず、変換されたセルを選択し、「セルの書式設定」「表示形式」から「標準」を選択すれば元に戻りました。 ちなみに、他のエクセルファイルは大丈夫でした(たぶん) また、変換されたセルの「ユーザー定義」を確認すると、覚えのない内容の定義がされていました。 ネットで調べると、結構以前から発生していたようで、色々な方からの助言が投稿されていましたが、肝心のマイクロソフトからの正式なコメントが見当たりません。 マイクロソフトとしては、確認していないのでしょうか。それともどこかにコメントがあるのでしょうか。

  • エクセルの一つのセル内に2つの数値を配置したい

     はじめまして。質問させてください。 質問  ひとつのセル内に2つの数値を表示したいと思っています。 折り返しなどで2段に表示するのではなく,1段に2つの数値を配置したいです。  2つの数値を配置したいセルに,「=A1&" "&B2」←このような計算式を組んだ結果,ひとつのセルに2つの数値を配置する事には成功しました。  しかし,A1,B2に入れてある数値は全て小数第1位まで表示させてあるのですが(0も0.0としている),上記の式で,2つの数値を配置してあるセルでは,小数第1位が0の時は,小数第1位が省かれて表示されません。(0.0は0に,6.0は6になります)  なんとか小数第1位まで表示させる方法はありますでしょうか? また,他に「&」を使わなくても,ひとつのセルに2つの数値をいれる方法がありましたらお教え下さい。 (ちなみにこのデータの数値は,ひとつは去年の樹高(気の高さ),もうひとつは今年の樹高を表す数値で,去年の樹高と比べるために,ひとつのセルに2数値表示させる必要があります。) どうぞよろしくお願いします。

  • Excel でセルの数値が表示されたりされなかったりするのは?

    Excelで現金出納帳を作成しました。 収入金額(F7)と支払い金額(H7)が'0'の時は 差引残高(J7)が空白になるように差引残高のセルに =IF(OR(COUNT(F7:H7)=0)," ",SUM(J6+F7-H7)) と数式を入れ下のセルへコピーし、順調に計算されていました。 しかしある行から支払い金額が'0'でないにもかかわらず 差引残高が急に表示されなくなりました。 不思議なことに非表示の行が特定の行ではなく 支払い金額や前行の差引残高の金額によって 表示されたりされなかったりするのです。 計算はされているようで、差引残高のセルを複数範囲指定すると 青い範囲指定の中に白地で数値が浮かびます。 18年4月から同じシートを使って順調に出納を行ってきたのに シートのコピーをして2シート19年度を作り、 片方は今でも順調に出納できています。 もう片方が何度同じ場所を元のシートからコピーしたりしても 同じ現象になります。 ちなみに最初の行の繰越残高は'12134'です。 試しに元のシート(18年度分)の最初の繰越残高をこの数値にしても空白の残高ができてしまいます。 どうもこの数値(前後の数値でも)から始めると空白になるのです・・・ 残高がマイナスになっても表示される時はされますし、 空白になる場合の規則性が見出せず困っています。 わかりにくい事象説明で申し訳ありませんが、 よろしくご指導のほど、お願いいたします。

  • エクセルで矢印キーでセル移動しようとすると特定のセルに飛んでしまう

    仕事で頻繁に使ってるエクセルファイルのひとつのシートが矢印キーで上下左右に移動しようとしても特定のセルに飛んでしまうようになりました。このセルは最近編集して数値を入力すると%表示される設定をし他のセルに計算結果を出すようにしています。シート内から矢印キーでどちらに移動しようとしてもこのセルに飛んでしまい使いづらくて困っています。原因と対策をお教えください。

  • 貼付用シートを更新するとデータシートの新セルに更新

    シートが2種類(データ用、貼付け用)あります。 VLOOKUPを使用して、貼付け用の数値をデータ用に表示させる。という仕様になっています。 貼付け用のシートを更新するだけで、データ用シートの新しいセルに入力されるようにしたいのですが、マクロを使って出来ることなのでしょうか? 分かればマクロのソースを教えてください。 たとえば、数値が出ると特定の列の関数が確定する用に出来ますか?

  • エクセルのセルで式で計算された数値を式なしの数値だけにする方法は?

    タイトルの通りですが、例えば、A1のセルに、計算式が入っていて、その計算式による数値が表示されているとします。 A1のセルの数値だけを、コピーして、別のファイルにコピーしたいのですが、A1のセルの計算式による数値だけを(計算式ごとコピーすることなく)コピーする方法はありませんか? よろしくお願いします。

専門家に質問してみよう