[英]Putting a Query search inside an array formula in google sheets
我正在嘗試找到一種方法來將工作表查詢和應用於所述查詢的數組公式合並到一個單元格中。 目的是避免顯示查詢以應用數組公式,因為我有許多稍微不同的查詢可以應用相同的公式。 主要數據是從谷歌表單中提取的打卡和打卡時間列表,查詢過濾此列表以僅包含有關特定人員的數據,然后數組公式計算該人的總打卡時間。 最終目標將是一個公式,它將返回數組公式的值,但不必顯示和引用查詢。 換句話說,使用主要數據和特定人員的姓名作為輸入,得到總打卡時間為 output。
我嘗試用只返回該列的查詢替換數組公式中引用的范圍,但它似乎不起作用。 我知道可能有一種方法可以在腳本中執行此操作,但我不知道 JS 是如何做到的。 任何幫助將不勝感激。
表格: https://docs.google.com/spreadsheets/d/17u-vljsetxP6P6HJnDC9nB0yv-7dYQHXwWU04WZF5ik/edit?usp=sharing主要數據占用A到G列,查詢顯示H2:J中的數據,H1是人名,I2 是數組公式。
查詢: =QUERY(A1:G, "select B, D, E where C contains '"&H1&"'")
其中H1
是要過濾的人的姓名。
數組公式: =ARRAYFORMULA(SUM(IF(H3:H="Checking-in",IF(H4:H="Checking-out",IF(I3:I=I4:I,J4:J-J3:J,J4:J-J3:J+1))))*24)
注意: AND()
function 不適用於數組公式,這就是為什么我嵌套了一堆IF()
語句。 我知道它不是最干凈的,但這是我讓它工作的唯一方法。
嘗試:
=ARRAYFORMULA(SUM(IF("Checking-out"=
QUERY(A1:G, "select B where C contains '"&H1&"' offset 1", ), IF(
QUERY(A1:G, "select D where C contains '"&H1&"'", )=
QUERY(A1:G, "select D where C contains '"&H1&"' offset 1", ),
QUERY(A1:G, "select E where C contains '"&H1&"' offset 1", )-
QUERY(A1:G, "select E where C contains '"&H1&"'", ),
QUERY(A1:G, "select E where C contains '"&H1&"' offset 1", )-
QUERY(A1:G, "select E where C contains '"&H1&"'", )+1)))*24)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.