web-dev-qa-db-ja.com

Excel:y = 1の時間範囲を使用して方形波をグラフ化し、y = 0の時間範囲がない

悪い質問名でごめんなさい。

私はそのような時間範囲(エポックからのナノ秒)を含むCSVに一連のデータがあります

StartTimestamp,EndTimestamp
284473439207159,284473441207159
284473458747908,284473460285908
284473480805406,284473481909406
284473502295963,284473504295963
284473524525589,284473526079589
284473546781808,284473547889808

これらは、信号がオンになっていた時間を表します。

方形波であるグラフを作成します。ここで、Xは時間(最初の開始から最後の終了まで)であり、Xがデータセットの範囲の1つにある場合、f(X)= {1です。0そうでない場合)

例:与えられたセット

0,1
3,5
9,10

これを見たいです

enter image description here

助言がありますか? 0の値を生成しないと、これを理解できません。

7
Ben

まず、開始番号と終了番号を別々の値に分割する必要があります。テキストから列への関数を使用して、または数式を使用して行うことができます。

数式を使用してこれを行う方法を次に示します。コンマ区切りの値は、セル_A2_から始まり、列Aにあると想定します。 (そして、各エントリが30桁の数字であるとExcelが考えないようにするために、これらの値をテキストとしてフォーマットすることが役立つことをすでに理解していると想定します。)

  • セル_B2_に=LEFT(A2, FIND(",", A2)-1)+0と入力します
  • セル_C2_に=RIGHT(A2, LEN(A2)-FIND(",", A2))+0と入力します

(最後の_+0_は、LEFT()およびRIGHT()によって返されたテキスト値を数値に変換します。)

そして、方形波チャートを作成する方法は、X遷移値ごとに2つのデータポイントを持つことだとおわかりだと思います。数式でそれらを作成できます。作業領域が必要です—たとえば、列_AB:AC_。 (必要に応じて、他の場所に配置できます。)

  • セル_AB2_に=INDEX(B:C, (ROW()+3)/4+1, MOD(INT((ROW()+3)/2),2)+1)と入力します
  • セル_AC2_に=MOD(INT(ROW()/2), 2)と入力します

AB式は、列_B:C_から交互にX値をフェッチします。 AC数式は、ゼロとそれに対応する1を生成します。セル_AB2_および_AC2_を選択し、下にドラッグ/フィルします。これで、X-Y散布図に適したデータが得られました。

あなたのダミー/テストデータ:

あなたの本当の(非現実的な?)データ:

8
Scott

残念ながら、Excelはあなたが持っているようにフォーマットされたデータからそのグラフを作成することができません、それを変換する必要があります。

次の2つの式を使用して実行できます。

  • x座標:=INDEX($A$2:$B$95,INT(ROW()/4)+1,INT(MOD(ROW(),4))/2+1)
  • y座標:=INT(MOD(ROW()-1,4)/2)

次に、データにxyチャートを挿入します

enter image description here

enter image description here

5
Máté Juhász