ARTICLE · 1287217
FILTER函数在EXCEL版序时账中的应用
没有取数软件,查凭证犯难
序时账里查凭证
一条公式就够
FILTER · COUNTIFS · HSTACK · TRIMRANGE
EXCEL 查账实操
HI,大家好,我是晚风。
今天跟大家聊一聊,企业只能导出 EXCEL 版序时账 的时候,怎么用一条公式,把整张凭证连分录一起拉出来。
01
PART
取不了数,账还得看
THE PROBLEM · 场景
审计取数,通常靠取数软件直接调阅企业的序时账。但总有取不了数的时候,这时候只能退一步:让企业导一份 EXCEL 版序时账出来。
实操中, EXCEL 版序时账虽然也能用,但想在里头找一张凭证,还是挺麻烦的。

▲ AI生成的序时账示例
这时候 FILTER 就能发挥了。

▲ A、B 两列填日期和凭证号,D 列起自动带出整张凭证
比起传统的「打标识 + VLOOKUP」两步走,这样一条公式就够了。
02
PART
三个参数,只有第二个要动脑
THE MECHANISM · 原理
FILTER 取「过滤」之意,干的就是查询和筛选的活。Excel 2021 及以上版本、最新版 WPS 表格都能用。
FILTER只有三个参数:
=FILTER(筛选区域,指定条件,[没有记录时返回的内容])
筛选区域
要从哪张表查数据。
指定条件
哪些行或列留下。这一格填的不是一句话,是一串 TRUE / FALSE。
没有记录时返回
兜底值。不写这一项,一条都没命中时整格直接报错。
三个参数里,真正要动脑的是第二个——它要的不是一句「条件」,而是一串 TRUE / FALSE。
举个例子,筛出与「供应商一」相关的凭证:
=FILTER(A1:M14,G1:G14=A17)

▲ 辅助项为「供应商一」的凭证被整行带出
第二个参数 G1:G14=A17 算出来,其实是这样一列东西:

▲ N 列就是第二个参数的真身:TRUE 的行留下,FALSE 的跳过
看明白这一列,FILTER 就没有秘密了——它只是一行行对下来,见到 TRUE 就留,见到 FALSE 就过。
两个条件,怎么拼
「且」用乘号,「或」用加号。听着抽象,看两张图就明白。
两个条件同时满足?乘
筛「供应商一」且制单人是 A 的凭证:
=FILTER(A1:M14,(G1:G14=A17)*(M1:M14=B17))

▲ 两个条件相乘,14 行只剩 2 行
只要满足一个?加
筛「供应商一」或制单人是 A 的凭证:
=FILTER(A1:M14,(G1:G14=A17)+(M1:M14=B17))

▲ 两个条件相加,7 行全出,两类都留下
到底用乘还是用加,不用记口诀——问自己一句:这两个条件,是都得满足,还是满足一个就行。
03
PART
回到序时账:锁定一整张凭证
IN PRACTICE · 实战
前面的例子都在小表上打转。回到真正的序时账——原表一个字不动,查询放在另一张表里做。

▲ 原表保持完整,底部另建「查询」工作表
建一张条件表
查凭证,本质是用「月份(或日期)+ 凭证号」两个条件锁定一张凭证。新建工作表,A 列放日期、B 列放凭证号,可以一次填多组。
D1 输入公式
=FILTER(序时账!A:.M,COUNTIFS(A:.A,序时账!B:.B,B:.B,序时账!C:.C))

▲ 条件表填了多组日期和凭证号,结果按凭证整段带出
✦ 这里为什么不用等值判断
一张凭证有好几行分录,条件表里又可以一次填多组。COUNTIFS 干的事,是对序时账的每一行问一句:你落在条件表里吗。多张凭证,一次全出。
列太多?用 HSTACK 裁掉不要的
序时账动辄十几列,主体账簿、币种、原币、制单人这些,查凭证时用不上。用 HSTACK 自定义要带出的列:
=FILTER(HSTACK(序时账!B:.G,序时账!J:.J,序时账!L:.L),COUNTIFS(A:.A,序时账!B:.B,B:.B,序时账!C:.C))

▲ 主体账簿、币种、原币、制单人都被裁掉,只留查凭证用得上的列
公式里那个 . 是 TRIMRANGE 的语法糖,能自动裁剪引用区域,避免整列引用把公式拖慢。
!别直接抄
公式里的表名、日期列、凭证号列,都要换成你自己序时账的。列号差一位,结果就是一片空。
04
PART
FILTER 的常见错误
COMMON ERRORS · 排错
结果区被挡住
FILTER 是动态数组,结果会向下溢出。公式刚敲进去就报 #SPILL!,多半是下方或右边有内容挡着。清空结果区,或把公式挪到其他区域。
没写第三参数
条件一条都没命中,却报 #CALC!——因为 FILTER 不支持空结果,第三参数补个 "" 或你喜欢的内容就可以了。
版本不支持
怎么改都报 #NAME?,先别怀疑公式,查版本。FILTER 要 Excel 2021 及以上,或新版 WPS。
筛选区域行数和条件区域行数对不上
公式中,筛选区域的行数需要与条件区域的行数保持一致,否则就会报错。
附:示例文件下载
既然看到这里了,如果觉得有用,随手点个赞、在看、转发三连吧。
THANKS FOR READING















































































