• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:IF関数やCOUNTIF関数など詳しい方)

エクセルで稼動グラフを作成する方法とは?

このQ&Aのポイント
  • エクセルで機械の稼動グラフを作成したい場合、シート1に1分おきの時刻表を記入し、シート2に稼動状況を記録します。そして、シート1のB列には、シート2のON/OFFに応じて数値を入力する必要があります。しかし、実際には正しく同期させることが難しいため、正確な値を入力するための方法を教えていただきたいです。
  • エクセルで機械の稼動グラフを作成したい場合、シート1には1分おきの時刻表を記入し、シート2には発生時刻とON/OFFの情報を記録します。そして、シート1のB列には、シート2のON/OFFに応じて数値を入力する必要があります。しかし、正確な値を入力するためには、セルの値を参照して続けていく必要があります。どのように実現するか詳しい方に教えていただきたいです。
  • エクセルで機械の稼動グラフを作成する方法について質問です。シート1には1分おきの時刻表があり、シート2には発生時刻とON/OFFの情報が記録されています。シート1のB列には、シート2のON/OFFに対応して数値が入力される必要があります。しかし、正確な値を入力するためには、セルの値を参照しながら入力する必要があるかと思います。どのようにすれば正確な値を入力することができるのでしょうか?詳しい方に教えていただきたいです。

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

  • ベストアンサー
  • kybo
  • ベストアンサー率53% (349/647)
回答No.1

B1に以下のような数式を入れて、その数式を下へコピーしてみてください。 =IF(VLOOKUP(A1,Sheet2!$A$1:$B$4,2,TRUE)="OFF",0,5)

kiguruipierot
質問者

お礼

VLOOKUPのTRUEはよくわかってませんでした。 バッチリできました。 すごく勉強になりました。ありがとうございました。

その他の回答 (3)

  • imogasi
  • ベストアンサー率27% (4737/17070)
回答No.4

>なかなかうまくいきません 検索はVLOOKUPやMATH関数を使うが、どういう関数でやったか書くべきだ。 VLOOKUP関数でやったが、など。 Sheet2に該当無しはどうしましたか? >(日付などはあわしています とはどういうこと? 日付部分は例データに無いが、実際データではあるのか?。 時刻は日付時刻シリアル値で入っていることに間違いないか。文字列ではないでしょうね。 単純なケースでは Sheet2 A,B列 8:20 ON  8:43 OFF 9:01 ON 9:03 ON 9:04 OFF ・・・ Sheet1で A,B列 9:00 #N/A 9:01 ON 9:02 #N/A 9:03 ON 9:04 OFF B1の式は =VLOOKUP(A1,Sheet2!$A$1:$B$10,2,FALSE) 下方向に式を複写 結果上記B列 >何もないときは上のセルと 該当なしのばあい、と言うべき。 ISNAやISERRORで検知する。 その場合Sheet1上で直前の行のB列を取るらしいから、最初行のデータでも、直前行を考えるのは出来ないから B2は=IF(ISERROR(VLOOKUP(A2,Sheet2!$A$1:$B$10,2,FALSE)),B1,VLOOKUP(A2,Sheet2!$A$1:$B$10,2,FALSE)) と入れて下方向に式を複写する。 B1は特別に =IF(ISERROR(VLOOKUP(A1,Sheet2!$A$1:$B$10,2,FALSE)),"OFF","ON") にする。 Sheet1 A列 B列 B列(改良) 9:00 #N/A OFF 9:01 ON ON 9:02 #N/A ON 9:03 ON ON 9:04 OFF OFF このONなら5、OFFなら0は Sheet2でC列に =IF(B1="ON",5,0とト入れて、下方向に式複写。 Sheet2  A列    B列    C列 8:20 ON 5 8:43 OFF 0 9:01 ON 5 9:03 ON 5 9:04 OFF 0 C列データを取ってくるほうが、Sheet2のB列の式が長くならなくて済むように思う。 時刻シリアル値に付いては 既出回答でご指摘の件は、Googleででも「エクセル 時刻 値 誤差」で照会すれば下記ほか沢山記事がある点です。 http://www.excel.studio-kazu.jp/mwiki/index.php/%E6%99%82%E5%88%BB%E8%A8%88%E7%AE%97%E8%AA%A4%E5%B7%AE%E3%81%AE%E8%A7%A3%E6%B6%88%E6%96%B9%E6%B3%95 本件の場合、気にしないで済むかどうか判らない。

kiguruipierot
質問者

お礼

つっこみありがとうございます。 自分はCOUNTIF関数をつかってました。 いろいろな考え方がありますね。 参考になりました。 ありがとうございます。

noname#204879
noname#204879
回答No.3

》 ONになれば5、OFFになれば0何もないときは上のセルと同じ 上の意味は、OFFからONに変化すれば5、ONからOFFに変化すれば0、変化ないときは上のセルと同じ、ということですか?

kiguruipierot
質問者

補足

はい、そうです。 説明が下手で申し訳ないです。

  • KURUMITO
  • ベストアンサー率42% (1835/4283)
回答No.2

時刻はシリアル値で見ますと小数点以下の桁数が多くお示しのようなケースではシート1とシート2の表示時刻が同じでもシリアル値では違っている場合があり必ずしも一致しているとは言えません。そのために単なる式ではエラーとなり正しい答えが得られません。そこで式の上で多少の工夫が必要となります。ここでは表示の時間にプラス0.1秒をして関数を使っています。 例えばB2セルには次の式を入力して下方にオートフィルドラッグします。 =IF(ISERROR(MATCH(A2+"0:00:00.1",Sheet2!A:A,1)),B1,IF(INDEX(Sheet2!B:B,MATCH(A2+"0:00:00.1",Sheet2!A:A,1))="ON",5,0)) INDEX関数の代わりのVLOOKUP関数を使ってもよいでしょう。

kiguruipierot
質問者

お礼

試してみましたがうまくいきませんでした。 上から下までずっと0がでます。 参考にしながらいろいろやってみます。 ありがとうございました。

関連するQ&A