使用 Query & Importrange 在 2 个日期之间进行过滤,如果条件根据条件更改日期的值

Using Query & Importrange to filter between 2 dates and if condition to change the value of the dates based on condition

我正在使用查询和导入范围函数从另一个 Google sheet 收集数据,我正在按发布者和用户指定的开始日期 (F1) 和结束日期 (G1) 进行过滤.我现在所拥有的仅适用于开始日期,只是我无法在两个日期之间对其进行过滤。所以我想保留所有在开始日期或结束日期内的数据。源数据中的开始日期为 Col9,结束日期为 Col10

下一步是更改开始日期和结束日期(如果开始日期早于或晚于用户指定的日期)。例如,如果基于 importrange 函数的开始日期是 7 月 15 日,但用户指定的日期是 8 月 1 日,那么我希望该日期的单元格是 8 月 1 日。相同的逻辑适用于结束日期,除了在这种情况下任何大于用户指定日期的结束日期都应更改为 8 月 31 日。是否可以将这个方面包含在一个公式中?或者我必须创建一个单独的 query/script?

下面是我正在使用的公式副本的 link: https://docs.google.com/spreadsheets/d/1hdE2q8UDdStx98WH9de3PljiMZzasZzhBChUAxLPgGQ/edit#gid=28163102

以下是源数据: https://docs.google.com/spreadsheets/d/1N8m_YtO1Nc5AXSCAvT5Z1RiKs30bwjt6XDk9zA5QSOE/edit?usp=sharing

如果我从代码中删除 " and Col10 <= date '"&text(G1,"yyy-mm-dd")&"' ",它将与开始日期一起使用。

=QUERY(importrange("https://docs.google.com/spreadsheets/d/1N8m_YtO1Nc5AXSCAvT5Z1RiKs30bwjt6XDk9zA5QSOE/edit#gid=0","Activity Tracker - Publisher Co!B10:K"),"Select Col6, Col1, Col2, Col4, Col9, Col10 where Col2 is not null and Col9 is not null and Col1 contains 'Publisher 1' and (Col9 >= date '"&text(F1,"yyy-mm-dd")&"' and Col10 <= date '"&text(G1,"yyy-mm-dd")&"')")

尝试:

=QUERY(IMPORTRANGE(
 "1N8m_YtO1Nc5AXSCAvT5Z1RiKs30bwjt6XDk9zA5QSOE", 
 "Activity Tracker - Publisher Co!B10:K"),
 "select Col6,Col1,Col2,Col4,Col9,Col10 
  where Col2 is not null 
    and Col9 is not null 
    and Col1 contains 'Publisher 1' 
    and Col9  <= date '"&TEXT(G1, "yyyy-mm-dd")&"' 
    and Col10 >= date '"&TEXT(F1, "yyyy-mm-dd")&"'", 0)