添加具有 sheet 原始名称的列以合并 sheet
Add column with sheet name of origin to merged sheet
将此公式合并,然后按日期过滤,范围从不同的 sheet 到主 sheet :
=QUERY({'Class 1'!A3:I14;'Class 2'!A3:I14}
,"SELECT Col1, Col3, Col4, Col5, Col6, Col7, Col8, Col9 WHERE (Col1 >= date '" & TEXT(TODAY(),"yyyy-MM-dd") & "' AND Col1 <= date '" & TEXT(TODAY()+9,"yyyy-MM-dd") & "')", FALSE)
公式是这样计算的:Grabs ranges from Class 1 and Class 2 sheet秒。然后它过滤第一列中从今天到 9 天后的结果。对于每个筛选结果,右侧从第三列到第九列的所有内容都会显示。
在 Master sheet 中,我需要添加一个包含 class 的列(也就是每个结果的来源 sheet 的名称)所以可以从中理解class待测同学来自
尝试:
=ARRAYFORMULA(QUERY(
{'Class 1'!A3:A14\ 'Class 1'!X3:X14&"Class 1"\ 'Class 1'!C3:I14;
'Class 2'!A3:A14\ 'Class 2'!X3:X14&"Class 2"\ 'Class 2'!C3:I14};
"select Col1,Col2,Col3,Col4,Col5,Col6,Col7,Col8,Col9
where Col1 >= date '"&TEXT(TODAY(); "yyyy-MM-dd")&"'
and Col1 <= date '"&TEXT(TODAY()+9; "yyyy-MM-dd")&"'"; 0))
其中 X 列为空
使用 IF
和 ARRAYFORMULA
为第一个 sheet 添加 class 名称并为第二个 sheet 应用相同的模式。
应用上述内容的一种非常粗略的方法:
=ArrayFormula(QUERY({
'Class 1'!A3:I14,IF(N('Class 1'!A3:I14),"Class 1");
'Class 2'!A3:I14,IF(N('Class 2'!A3:I14),"Class 2")
},"SELECT Col1, Col10, Col3, Col4, Col5, Col6, Col7, Col8, Col9 WHERE (Col1 >= date '" & TEXT(TODAY(),"yyyy-MM-dd") & "' AND Col1 <= date '" & TEXT(TODAY()+9,"yyyy-MM-dd") & "')", FALSE))
N
returns 一个数字否则什么都不返回。它在上面的公式中起作用,因为第一列包含 Google 工作表将它们作为序列号处理的日期。
请注意 SELECT 子句也进行了修改,它显示 Col10 作为第二列。
将此公式合并,然后按日期过滤,范围从不同的 sheet 到主 sheet :
=QUERY({'Class 1'!A3:I14;'Class 2'!A3:I14}
,"SELECT Col1, Col3, Col4, Col5, Col6, Col7, Col8, Col9 WHERE (Col1 >= date '" & TEXT(TODAY(),"yyyy-MM-dd") & "' AND Col1 <= date '" & TEXT(TODAY()+9,"yyyy-MM-dd") & "')", FALSE)
公式是这样计算的:Grabs ranges from Class 1 and Class 2 sheet秒。然后它过滤第一列中从今天到 9 天后的结果。对于每个筛选结果,右侧从第三列到第九列的所有内容都会显示。
在 Master sheet 中,我需要添加一个包含 class 的列(也就是每个结果的来源 sheet 的名称)所以可以从中理解class待测同学来自
尝试:
=ARRAYFORMULA(QUERY(
{'Class 1'!A3:A14\ 'Class 1'!X3:X14&"Class 1"\ 'Class 1'!C3:I14;
'Class 2'!A3:A14\ 'Class 2'!X3:X14&"Class 2"\ 'Class 2'!C3:I14};
"select Col1,Col2,Col3,Col4,Col5,Col6,Col7,Col8,Col9
where Col1 >= date '"&TEXT(TODAY(); "yyyy-MM-dd")&"'
and Col1 <= date '"&TEXT(TODAY()+9; "yyyy-MM-dd")&"'"; 0))
其中 X 列为空
使用 IF
和 ARRAYFORMULA
为第一个 sheet 添加 class 名称并为第二个 sheet 应用相同的模式。
应用上述内容的一种非常粗略的方法:
=ArrayFormula(QUERY({
'Class 1'!A3:I14,IF(N('Class 1'!A3:I14),"Class 1");
'Class 2'!A3:I14,IF(N('Class 2'!A3:I14),"Class 2")
},"SELECT Col1, Col10, Col3, Col4, Col5, Col6, Col7, Col8, Col9 WHERE (Col1 >= date '" & TEXT(TODAY(),"yyyy-MM-dd") & "' AND Col1 <= date '" & TEXT(TODAY()+9,"yyyy-MM-dd") & "')", FALSE))
N
returns 一个数字否则什么都不返回。它在上面的公式中起作用,因为第一列包含 Google 工作表将它们作为序列号处理的日期。
请注意 SELECT 子句也进行了修改,它显示 Col10 作为第二列。