如果对象在特定时间范围内,则进行条件格式化

时间:2019-02-26 11:41:55

标签: google-apps-script google-sheets

我有一个名为Sheet1的工作表,其中包含对象和活动对象的时间。

Objects    Begin         End           User
Object 1   Jan 1 2AM     Jan 1 6AM     User 1
Object 1   Jan 1 6AM     Jan 1 2PM     User 2
Object 1   ..            ..            ..
Object 2   ..            ..            ..
Object 2   ..            ..            ..
..
..
..

在另一个名为工作表2的工作表中,我想要一个所有对象的列表和一个时间块数组,其中每个时间块为1时(对象处于活动状态),都存在1(或TRUE,..)。

表格应如下图

Time       1/1 5 AM      1/1 6 AM     1/1 7 AM    [..]    1/2 3 PM    [..]
Object 1       1             1            1       [..]       0
Object 2      ...
Object 3      ...
....

我在here之前问过这个问题。但是,该解决方案不允许看到上午6点到上午7点之间有用户更改,换句话说:您无法区分是从一个用户还是从多个用户使用该对象,是从凌晨2点到下午2点,还是使用多个带有“切换”。

是否有一种简单的方法来有条件地格式化开始和结束时间的开始和结束,以便人们可以直观地看到“开关”? (或者代替计数,可以在单元格中写一个“ s”用于切换。)

我目前使用

=countifs(Sheet1!$A:$A,$A3,Sheet1!$B:$B,"<="&B$2,Sheet1!$C:$C,">"&B$2)

我认为我需要做的是检查另一种情况。我当前正在看的时间等于Sheet1中object1所在的行之一的开始或结束时间吗?我只是不知道如何确保每次检查Object1出现在Sheet1中的时间,我不认为可以对范围应用If-Condition吗?也许我需要为此使用appscript?

Time       1/1 5 AM      1/1 6 AM     1/1 7 AM    [..]    1/2 3 PM    [..]
Object 1       1             S            S       [..]       0
Object 2      ...
Object 3      ...
....

Time       1/1 5 AM      1/1 6 AM     1/1 7 AM    [..]    1/2 3 PM    [..]
Object 1       1            *1*         *1*       [..]       0
Object 2      ...
Object 3      ...
....

感谢您的帮助。

0 个答案:

没有答案