如何在Google Sheets中用Query函数合并工作表数据制作现金簿
实现方案
1. 设置合作方选择器
在Monitor工作表的A1单元格配置数据验证:
- 规则类型:列表
- 来源:用
=UNIQUE({Cash-In!B:B; Cash-Out!B:B})生成所有合作方的唯一值列表,这样可以直接下拉选择目标合作方
2. 合并并排序数据的核心公式
在Monitor工作表的A3单元格(或你指定的起始位置)输入以下公式,自动提取选定合作方的所有收支记录并按日期升序排列:
=SORT( FILTER( {Cash-In!A:C; Cash-Out!A:C}, {Cash-In!B:B; Cash-Out!B:B}=A1 ), 1, TRUE )
公式拆解:
{Cash-In!A:C; Cash-Out!A:C}:把Cash-In和Cash-Out的A到C列数据垂直合并成一个数据集{Cash-In!B:B; Cash-Out!B:B}=A1:筛选出合作方与A1选定值匹配的记录SORT(..., 1, TRUE):按第1列(日期列)升序排序,需要降序的话把TRUE改成FALSE
3. 优化细节处理
- 添加表头:在A2单元格手动输入
日期、合作方、金额,或者用公式自动同步:{"日期", "合作方", "金额"} - 空值提示:如果选定合作方无收支记录,想显示友好提示,修改公式为:
=IFERROR( SORT( FILTER( {Cash-In!A:C; Cash-Out!A:C}, {Cash-In!B:B; Cash-Out!B:B}=A1 ), 1, TRUE ), "无该合作方的收支记录" )
内容的提问来源于stack exchange,提问作者anwwwar
相关产品推荐
相关产品推荐

