Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/google-sheets/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Google sheets GoogleSheets:使用查询选择组内前N个案例_Google Sheets_Google Sheets Query - Fatal编程技术网

Google sheets GoogleSheets:使用查询选择组内前N个案例

Google sheets GoogleSheets:使用查询选择组内前N个案例,google-sheets,google-sheets-query,Google Sheets,Google Sheets Query,我想做一个报告:“选择N个最近状态代码=2,3,4,5的销售人员” “我的数据”的结构示例有35行(包括1个标题行): . 此文件包含日期、销售代码(销售人员id)、状态代码(交易成功程度id)和其他不需要的字段 我最终使用了三个公式: 带有导入功能的QUERY函数在示例数据中稍微简单一些-仅从另一张表中获取销售代码、状态代码和日期,然后按日期、销售代码订购。A9中的公式: =QUERY({Source!D1:E,Source!A1:A},$B$4,1) 带有顺序编号的附加列。D10中的公式:

我想做一个报告:“选择N个最近状态代码=2,3,4,5的销售人员”

“我的数据”的结构示例有35行(包括1个标题行): . 此文件包含日期、销售代码(销售人员id)、状态代码(交易成功程度id)和其他不需要的字段

我最终使用了三个公式:

  • 带有导入功能的
    QUERY
    函数在示例数据中稍微简单一些-仅从另一张表中获取销售代码、状态代码和日期,然后按日期、销售代码订购。A9中的公式:
    =QUERY({Source!D1:E,Source!A1:A},$B$4,1)

  • 带有顺序编号的附加列。D10中的公式:
    =数组公式(如果(len(A10:A),行(A10:A)-匹配(A10:A,A10:A,0)-8,)

  • 一个只提取N个案例(比如5个)的查询函数。F9中的公式:

    =QUERY(A9:D,“选择A,B,其中DHm这有点像噩梦,TBH-以前也出现过类似的问题,但没有简单的答案。下面是一份草案,其中包括重复基本查询几次-

    =ArrayFormula(query({query(A2:E,"select * where E>=2 and E<=5  order by D, A desc"),
    row(indirect("2:"&count(filter(E2:E,E2:E>=2,E2:E<=5))+1))-
    match(query(A2:E,"select D where E>=2 and E<=5  order by D, A desc"),
    query(A2:E,"select D where E>=2 and E<=5  order by D, A desc"),0)
    },"select * where Col6<=5"))
    

    =ArrayFormula(查询({query(A2:E)选择*其中E>=2和E=2和E=2和E=2和E=2和E=2和E=2,我们可以假设原始数据是按销售代码排序的,即某个特定销售人员的所有销售都在一起吗?@TomSharpe,在原始数据中,所有销售都是每天添加的,并在数据库顶部输入最新信息。不应用排序。因此,在任何一天,都会有可以是任何销售状态的任何销售人员。我认为这是可行的,但必须重复排序-稍后会发布一些内容。哇!谢谢!它正在工作!将使用
    IMPORTRANGE
    在大型数据集上实现此逻辑。
    =ArrayFormula(query({query(A2:E,"select * where E>=2 and E<=5  order by D, A desc"),
    row(indirect("2:"&count(filter(E2:E,E2:E>=2,E2:E<=5))+1))-
    match(query(A2:E,"select D where E>=2 and E<=5  order by D, A desc"),
    query(A2:E,"select D where E>=2 and E<=5  order by D, A desc"),0)
    },"select * where Col6<=5"))
    
    =ArrayFormula(query({query(A:E,"select * where E>=2 and E<=5  order by D, A desc"),
    row(indirect("1:"&count(filter(E:E,E:E>=2,E:E<=5))+1))+1-
    match(query(A:E,"select D where E>=2 and E<=5  order by D, A desc"),
    query(A:E,"select D where E>=2 and E<=5  order by D, A desc"),0)
    },"select * where Col6<=5"))