Excel:使用 y=1 的时间范围绘制方波图形,而 y=0 则缺少时间范围

Ben*_*Ben 7 microsoft-excel microsoft-excel-2016

对不起,问题名称不好。

我在 CSV 中有一组数据,其中包含时间范围(自纪元以来的纳秒),如下所示

StartTimestamp,EndTimestamp
284473439207159,284473441207159
284473458747908,284473460285908
284473480805406,284473481909406
284473502295963,284473504295963
284473524525589,284473526079589
284473546781808,284473547889808
Run Code Online (Sandbox Code Playgroud)

这些代表信号打开的时间。

我想创建一个方波图,其中 X 是时间(从第一个开始到最后一个结束)和 f(X)={1 如果 X 在数据集中的一个范围内,0如果不是)

示例:给定集合

0,1
3,5
9,10
Run Code Online (Sandbox Code Playgroud)

我想看这个

在此处输入图片说明

有什么建议?如果不生成 0 值,我无法弄清楚这一点。

Sco*_*ott 8

首先,您必须将开始和结束编号分解为单独的值。您可以使用“文本到列”功能执行此操作,也可以使用公式执行此操作。

以下是如何使用公式进行操作。我假设您的逗号分隔值在 Column 中 A,从 Cell 开始 A2。(我假设您已经发现将这些值格式化为文本有助于防止 Excel 认为每个条目是 30 位数字。)

  • 在单元格中 B2,输入=LEFT(A2, FIND(",", A2)-1)+0
  • 在单元格中 C2,输入=RIGHT(A2, LEN(A2)-FIND(",", A2))+0

(该+0末将由返回的文本值LEFT()RIGHT()回数。)

我猜您已经发现创建方波图的方法是为每个 X 转换值设置两个数据点。我们可以用公式创建那些。您需要一个工作区 - 例如, Columns  AB:AC。(如果你愿意,你可以把它放在其他地方。)

  • 在单元格中 AB2,输入=INDEX(B:C, (ROW()+3)/4+1, MOD(INT((ROW()+3)/2),2)+1)
  • 在单元格中 AC2,输入=MOD(INT(ROW()/2), 2)

AB公式从 Columns 中获取 X 值 B:C,并在它们之间交替。该AC公式生成零和一以配合它们。选择单元格 AB2并向下 AC2拖动/填充。您现在拥有适用于 XY 散点图的数据。

您的虚拟/测试数据:

你的真实?(不真实?)数据:


Mát*_*ász 5

不幸的是,Excel 无法根据您拥有的格式数据创建该图表,需要对其进行转换。

你可以用两个公式来做到这一点:

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

然后只需在您的数据上插入一个 xy 图表

在此处输入图片说明

在此处输入图片说明