从过滤范围中寻找最接近的更大

时间:2019-10-23 12:42:29

标签: google-sheets google-sheets-formula array-formulas counting gs-vlookup

我有一张纸,上面有关于两台机器运行时间的信息。它具有三个主要列:“ A”是机器的编号; “ B”是开始工作的时间和日期;而“ C”是手术的结束时间和日期。

我正在尝试编写一个公式(第四列),该公式查找下一个操作的“开始时间”-以机器编号为条件。为此,我必须输入“结束时间”并从另一行找到最接近的较大“开始时间”,该时间取决于机器编号。

我尝试了两种方法来实现,但没有一种方法能100%正确地工作。

首先,我“过滤”以A为条件的B范围。然后,我将此过滤后的范围插入到一个公式中,该公式寻找最接近的较大值。

以下是一个示例工作表(颜色仅用于跟踪/调试目的,不必在公式上出现):

enter image description here

这是我尝试过的两个公式:

=small(filter(B:B;A:A=A1);COUNTIF(filter(B:B;A:A=A1);"<"&C1)+1)

=INDEX(filter(B:B;A:A=A1);MATCH(MIN(ABS(filter(B:B;A:A=A1)-C1));ABS(filter(B:B;A:A=A1)-C1);0))

在第一个示例中,仅最后一个结果返回正确。该列的其余部分重复相同的值。

第二个是不稳定的,有时会带来最接近的更大的数字,有时会带来最近的更小的数字,但是比第一个更好。

1 个答案:

答案 0 :(得分:1)

尝试:

{{1}}

0