【问题标题】:Excel - interpolate between two valuesExcel - 在两个值之间进行插值
【发布时间】:2018-06-27 06:14:48
【问题描述】:

在“Sheet1”上,我有每小时的温度值,如下所示:

Time                 Value
1.1.2017 0:00:00     4
1.1.2017 1:00:00     8
1.1.2017 2:00:00     0

直到年底。

在“Sheet2”上,我有 15 分钟的时间数据,至少我想获得“值 II”,其中值在整个小时内都是相同的。理想的情况是获得“值 III”,其中值是两个数字之间的线性插值。

Time                 Value II   Value III
1.1.2017 0:00:00     4          4 
1.1.2017 0:15:00     4          5
1.1.2017 0:30:00     4          6
1.1.2017 0:45:00     4          7 
1.1.2017 1:00:00     8          8 
1.1.2017 1:15:00     8          6
1.1.2017 1:30:00     8          4 
1.1.2017 1:45:00     8          2
1.1.2017 2:00:00     0          0 

对于“价值 II”我试过了:

 IF(AND(DATE(YEAR(A2);MONTH(A2);DAY(A2))=DATE(YEAR(Sheet1!$A$2:$A$1000);MONTH(Sheet1!$A$2:$A$1000);DAY(Sheet1!$A$2:$A$1000));HOUR(A2)=HOUR(Sheet1!$A$2:$A$1000));Sheet1!$B$2:$B$1000;"")

但我每次都收到""

对于“值 III”,当您在两个数字 ab 之间插入 r 数字时,我知道数学公式,那么内插数字之间的距离 d 是:

d = (b-a)/(r+1)

这些内插数字的值是:

r1 = a + d
r2 = r1 + d   or   r2 = a + 2*d
r3 = r2 + d   or   r3 = a + 3*d

但在 excel 中我什至不知道从哪里开始,也许是 FORECAST

【问题讨论】:

  • 是否允许在两张纸上添加额外的列?
  • 是的,我可能会那样做。我将日期和时间分成两列。

标签: excel


【解决方案1】:

这是我要获得价值 II 的方法:

在 Sheet1 上,添加一个用于拆分年、月、日和小时的列。我把它放在B列并使用了这个公式:=YEAR(A2)&MONTH(A2)&DAY(A2)&HOUR(A2)

看起来像这样:

然后转到 Sheet2 并在那里添加相同的列。我把它放在 B 列中,就像我在 sheet1 中所做的那样。我再次使用了这个公式:=YEAR(A2)&MONTH(A2)&DAY(A2)&HOUR(A2)

完成所有操作后,您可以在 Sheet1 的 C 列中使用 VLOOKUP。

公式为=VLOOKUP(B2,Sheet1a!$B$2:$C$1000,2,FALSE)

添加额外的列为 VLOOKUP 提供了一种可靠的运行方式,并且无需处理分钟和秒。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-07-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多