如何在Excel中自动将单元格内容复制到指定位置(支出追踪器适用)
方案1:适配Excel 365/2021、Google Sheets(最简方案)
直接用FILTER+SORT组合公式,实现按分类自动提取、按日期排序的效果:
=SORT(FILTER('输入列表'!A:D, '输入列表'!D:D=当前分类单元格, "暂无该分类交易"), 日期列序号, 1)
- 示例:如果你的输入列表A列是商家、B列是备注、C列是金额、D列是分类、E列是交易日期,主表A1单元格写的是当前区域对应的分类名「餐饮」,要按日期升序排列,公式就写:
=SORT(FILTER('输入列表'!A:C, '输入列表'!D:D=A1, "暂无交易"), '输入列表'!E:E, 1)
输入后会自动溢出所有符合分类的交易,不需要手动下拉,输入列表新增交易后会自动同步到主表对应分类区域。
方案2:适配旧版Excel(兼容所有版本)
用INDEX+SMALL+IF数组公式,输入完成后需要按Ctrl+Shift+Enter触发数组计算:
=IFERROR(INDEX('输入列表'!A:A,SMALL(IF('输入列表'!$D:$D=当前分类单元格,ROW('输入列表'!$D:$D),99999),ROW(A1))),"")
- 公式输入完成后下拉到足够多的行数,符合条件的交易就会依次填充,超出数量的行显示为空白。如果需要按日期排序,提前把输入列表按日期列升序排列即可。
附加提示
如果需要主表按全局日期统一排序、不分分类罗列,直接用SORT函数引用整个输入列表即可:=SORT('输入列表'!A:E,5,1)
(5为日期列的序号,可根据实际调整)
内容的提问来源于stack exchange,提问作者Schraf19
相关产品推荐
相关产品推荐

