跳到内容
当前位置:首页>Excel>Excel条件函数进阶:嵌套IF写了8层改不动?试试IFS和SWITCH,效率直接翻倍

Excel条件函数进阶:嵌套IF写了8层改不动?试试IFS和SWITCH,效率直接翻倍

  • 2026-09-25 15:12:03
Excel条件函数进阶:嵌套IF写了8层改不动?试试IFS和SWITCH,效率直接翻倍

大家好,我是小本本。

上周加班的时候,隔壁工位的小师妹突然"嗷"了一嗓子,把整个办公室都吓了一跳。

我凑过去一看,好家伙——她的Excel公式栏里,一个IF函数套了一层又一层,我数了数,足足8层!光标随便点一下,括号就跟着闪,看得人眼都花了。

"哥,我就想根据销售额算个提成比例,怎么就这么难啊……改一个档位,要翻半天找括号,改完还老是报错。"

我笑了笑,把她那串写了三行都放不下的嵌套IF,换成了一行IFS函数。她瞪大眼睛看了五秒,然后发出了灵魂拷问:"还有这种好东西?我之前怎么不知道!"

说实话,很多人学Excel,IF函数是最早接触的条件函数之一。但一碰到多条件判断,就只会疯狂嵌套IF,结果公式越写越长、越写越乱,到最后自己写的公式,过一个礼拜自己都看不懂。

今天这篇,咱们就来聊聊Excel条件函数的进阶玩法——IFS、SWITCH,以及怎么把条件函数和查找函数组合起来用。学会了这几招,以后再多的条件判断,你都能写得清爽又好懂。

— — —

先回顾:IF函数的局限,你肯定也踩过坑

先快速复习一下基础的IF函数,毕竟这是一切的起点(第5篇我们详细讲过,这里就不展开了)。

IF函数的语法很简单:

=IF(条件, 满足时返回什么, 不满足时返回什么)

比如判断成绩是否及格:

=IF(A1>=60, "及格", "不及格")

一个条件的时候,IF确实好用。但如果条件多了呢?

比如成绩要分四个等级:不及格、及格、良好、优秀。用嵌套IF怎么写?

=IF(A1<60, "不及格", IF(A1<75, "及格", IF(A1<90, "良好", "优秀")))

你看,这才4个等级,就已经套了3层IF了。要是来个个税计算的7级税率呢?那画面太美我不敢想……

嵌套IF的三大痛点,你中了几个?

痛点一:读不懂。 层数一多,打开公式像看迷宫,括号一层套一层,眼睛都看花了。

痛点二:改不动。 想加一个条件、改一个阈值?你得先找到对应那层IF,改完还要检查括号配对,一不小心就多一个或少一个括号,直接#VALUE!报错。

痛点三:有上限。 老版本Excel(2007以前)的IF最多只能嵌套7层,虽然新版本放宽到了64层,但你真的要写64层IF吗?那怕不是对自己的视力有什么误解……

所以今天,咱们就来认识两个"专治多层嵌套"的函数——IFS 和 SWITCH。

— — —

IFS函数:多条件判断的神器,一行顶十行

语法是什么?

IFS可以理解为"多个IF的合体",专门用来处理多条件、多结果的判断场景。

语法非常直观:

=IFS(条件1, 结果1, 条件2, 结果2, 条件3, 结果3, ...)

什么意思呢?就是从左到右依次检查条件:

●如果条件1满足,就返回结果1;

●如果条件1不满足,就检查条件2,满足就返回结果2;

●以此类推,直到找到第一个满足的条件;

●如果全都不满足,就返回#N/A错误。

和嵌套IF的对比:没有对比就没有伤害

咱们还是用成绩等级的例子,看看同样的逻辑,两种写法差多少。

嵌套IF写法(3层嵌套):

=IF(A1<60, "不及格", IF(A1<75, "及格", IF(A1<90, "良好", "优秀")))

IFS写法(一行搞定):

=IFS(A1<60, "不及格", A1<75, "及格", A1<90, "良好", A1>=90, "优秀")

看出区别了吗?IFS不需要一层层嵌套括号,所有条件和结果平铺直叙,一目了然。

实战案例:成绩等级判断(手把手教你写)

场景: A列是学生的分数,B列要自动判断等级。

●0-59分:不及格

●60-74分:及格

●75-89分:良好

●90-100分:优秀

操作步骤:

1.选中B2单元格(第一个要填等级的单元格)

2.输入公式:=IFS(A2<60,"不及格",A2<75,"及格",A2<90,"良好",A2>=90,"优秀")

3.按回车,B2就会自动显示对应等级

4.鼠标放在B2单元格右下角,等光标变成十字(填充柄),双击或往下拉,整列就都自动算好了

公式解释:

●A2<60,"不及格" —— 如果分数小于60,返回"不及格"

●A2<75,"及格" —— 如果上一个条件不满足(也就是≥60),且小于75,返回"及格"

●A2<90,"良好" —— 如果上一个不满足(也就是≥75),且小于90,返回"良好"

●A2>=90,"优秀" —— 如果前面都不满足(也就是≥90),返回"优秀"

注意事项:条件顺序很重要!

这里有个超级容易踩的坑,我必须重点说——

IFS是从左到右依次判断的,找到第一个满足的条件就停下来了。所以条件的顺序非常关键!

举个反例,如果把公式写成这样:

=IFS(A2<90,"良好",A2<75,"及格",A2<60,"不及格",A2>=90,"优秀")

那一个58分的学生,会被判断成"良好"——为什么?因为58<90是对的啊!第一个条件就满足了,直接返回"良好",后面的条件根本不会检查。

记住原则:范围判断时,要么从低到高排,要么从高到低排,千万别乱序。 一般来说,从高到低或者从低到高都可以,但必须是一个方向,不能跳。

— — —

SWITCH函数:精确匹配更高效,比IFS还省事儿

语法说明

IFS擅长的是范围判断(比如大于多少、小于多少),那如果是精确匹配的场景呢?比如"部门是A就补贴500,部门是B就补贴800,部门是C就补贴1000"这种。

这时候,SWITCH函数更合适。

SWITCH的语法:

=SWITCH(要判断的值, 值1, 结果1, 值2, 结果2, 值3, 结果3, ..., 都不匹配时返回什么)

和IFS的区别

很多人容易搞混IFS和SWITCH,我给你一句话讲明白:

●IFS:判断的是"条件是否成立",每个位置都是一个完整的判断(比如A1>60)

●SWITCH:判断的是"值等于哪个",拿一个值去跟多个选项做精确匹配

用人话说就是:范围判断用IFS,精确匹配用SWITCH。

实战案例:部门补贴计算

场景: A列是员工所在部门,B列要计算部门补贴。

●技术部:补贴1000元

●产品部:补贴800元

●市场部:补贴600元

●其他部门:补贴300元

用SWITCH怎么写?

=SWITCH(A2, "技术部", 1000, "产品部", 800, "市场部", 600, 300)

就这么简单!最后那个300是"兜底值"——如果A2的值跟前面的都不匹配,就返回300。

操作步骤:

5.选中B2单元格

6.输入公式:=SWITCH(A2,"技术部",1000,"产品部",800,"市场部",600,300)

7.回车,然后下拉填充

对比一下,如果用IFS写同样的逻辑:

=IFS(A2="技术部",1000,A2="产品部",800,A2="市场部",600,TRUE,300)

也能用,但你得每个条件都写一遍A2=,啰嗦。SWITCH就清爽多了。

进阶技巧:SWITCH配合通配符做模糊匹配

有人可能会问:SWITCH只能精确匹配吗?如果我想"只要包含某个关键词就算匹配",行不行?

行!但得配合通配符和其他函数。比如你想判断A2里的职位,只要包含"经理"就返回管理层,包含"总监"就返回高管层:

=SWITCH(TRUE, ISNUMBER(SEARCH("经理",A2)), "管理层", ISNUMBER(SEARCH("总监",A2)), "高管层", "普通员工")

哎,你可能发现了,这写法好像跟IFS差不多?没错,当第一个参数写TRUE的时候,SWITCH的用法就跟IFS几乎一样了。这种写法虽然有点"绕",但遇到需要模糊匹配的场景,确实能派上用场。

— — —

组合技:条件函数+查找函数=效率翻倍

条件函数单拎出来已经很强了,但如果跟查找函数组合使用,那才是真正的"王炸"。

XLOOKUP+IFERROR容错:查不到不报错

VLOOKUP大家都熟,但它有个老毛病——找不到匹配值的时候,直接甩你一个#N/A错误,打印出来特别难看。

这时候用IFERROR(或者IFNA)包一层,就能完美解决。

=IFERROR(XLOOKUP(A2, 员工表!A:A, 员工表!B:B), "查无此人")

公式解释:

●XLOOKUP去员工表里根据A2的姓名查找对应的部门

●如果找到了,就返回部门名称

●如果找不到(报错),就返回"查无此人"

操作步骤:

8.选中要放结果的单元格

9.先写XLOOKUP的核心查找逻辑

10.在外层套上IFERROR,第二个参数写"查不到时显示什么"

11.回车搞定

INDEX+MATCH+IF:多条件查找

VLOOKUP和XLOOKUP默认都是单条件查找,但工作中经常需要同时满足两个甚至多个条件才能找到对应的值。

比如,你要同时根据"姓名"和"月份"找到对应的销售额:

=INDEX(销售额列, MATCH(1, (姓名列=A2)*(月份列=B2), 0))

这是个数组公式,原理是利用(姓名列=A2)生成一组TRUE/FALSE,(月份列=B2)再生成一组,两组相乘之后,只有两个都满足的位置才会得到1,其他都是0。然后MATCH找到1的位置,INDEX再去对应的位置取数。

不过这个公式有个缺点——如果找不到匹配项,会返回#N/A。所以通常也会包一层IFERROR:

=IFERROR(INDEX(C:C, MATCH(1, (A:A=E2)*(B:B=F2), 0)), "未找到")

FILTER函数:一对多筛选,比VLOOKUP强太多

如果你用的是Excel 365或者2021版本,那FILTER函数绝对是你必须掌握的神器。

VLOOKUP只能找到第一个匹配项,但FILTER可以把所有满足条件的结果都找出来。

比如,你想把"市场部"的所有员工都筛选出来:

=FILTER(员工表!A:B, 员工表!B:B="市场部", "无匹配数据")

公式解释:

●第一参数:你要返回哪些列的数据

●第二参数:筛选条件(可以是多个条件,用*连接表示"且",用+连接表示"或")

●第三参数:没有匹配结果时返回什么

而且FILTER是动态数组,输完公式按回车,会自动"溢出"到下面的单元格,所有结果一次性全部显示出来,不用下拉填充。

— — —

真实工作场景实战:工资个税计算

说了这么多,咱们来一个真正的职场实战——工资个税计算。这个场景几乎每个HR、财务都会碰到,也是嵌套IF的"重灾区"。

场景描述

根据最新的个税税率表(综合所得年度税率表简化版),工资减去起征点(5000)后的应纳税所得额,按以下档位计算:

应纳税所得额

税率

速算扣除数

不超过3000元

3%

0

超过3000至12000元

10%

210

超过12000至25000元

20%

1410

超过25000至35000元

25%

2660

超过35000至55000元

30%

4410

超过55000至80000元

35%

7160

超过80000元

45%

15160

个税 = 应纳税所得额 × 税率 - 速算扣除数

用嵌套IF写有多痛苦

我见过有人用嵌套IF写个税公式,写出来是这样的(我就不全写了,意思一下):

=IF(A2<=3000, A2*3%, IF(A2<=12000, A2*10%-210, IF(A2<=25000, A2*20%-1410, ...)))

7个档位,意味着要嵌套6层IF。公式写完,编辑栏要拉好长才能看完。下个月税率要是调整了,改起来能让人头大。

用IFS改写后有多清爽

同样的逻辑,用IFS写是这样的:

=IFS(A2<=3000, A2*3%,A2<=12000, A2*10%-210,A2<=25000, A2*20%-1410,A2<=35000, A2*25%-2660,A2<=55000, A2*30%-4410,A2<=80000, A2*35%-7160,A2>80000, A2*45%-15160 )

你看,每个档位一行,清清楚楚。加条件、改税率,直接找到对应的那一行改就行,完全不用动脑子找括号。

操作步骤:

12.假设A列是"应纳税所得额"(工资-5000-五险一金-专项附加扣除后的金额)

13.在B2单元格输入公式:

=IFS(A2<=3000,A2*3%,A2<=12000,A2*10%-210,A2<=25000,A2*20%-1410,A2<=35000,A2*25%-2660,A2<=55000,A2*30%-4410,A2<=80000,A2*35%-7160,A2>80000,A2*45%-15160)

14.按回车,个税金额就出来了

15.下拉填充,所有人的个税一键算完

效率对比

对比项

嵌套IF

IFS函数

括号数量

12个左右

2个

可读性

需逐层拆解

平铺直叙一目了然

修改难度

找对应层要半天

找到对应行直接改

出错概率

高(括号漏配对)

低

毫不夸张地说,用IFS写个税公式,至少节省80%的维护时间。

— — —

踩坑经验:5个最容易犯的错,我都替你踩过了

这些年帮同事排查公式问题,条件函数的坑我见得太多了。给你总结5个最常见的,避开它们,你的公式正确率直接上一个台阶。

坑1:条件顺序搞反了

这个前面提过,但我必须再强调一遍——IFS是从左到右判断的,第一个满足的条件就返回了。

如果你写成绩等级,把"良好"的条件(<90)放在"及格"的条件(<75)前面,那70分的人会被判定为"良好",因为70<90成立啊!

避坑方法: 写范围判断的时候,要么从小到大排,要么从大到小排,保持同一个方向。建议新手从低到高写,不容易乱。

坑2:漏掉括号/括号不配对

嵌套IF最常见的错误就是括号不配对。少一个右括号,Excel直接报错;多一个右括号,也报错。

避坑方法:

●尽量用IFS代替嵌套IF,从根源上减少括号

●如果一定要写嵌套IF,写完后把光标放在公式里,Excel会高亮显示配对的括号,检查一下是不是每个左括号都有对应的右括号

●善用Alt+Enter在公式里换行,把每层IF分开写,结构清晰很多

坑3:数字和文本格式不统一,判断失效

这是一个非常隐蔽的坑。比如A列看起来是数字,但其实是文本格式(左上角有个小绿三角),你写IF(A1>60, "及格", "不及格"),结果发现所有人都显示"不及格"。

为什么?因为文本和数字比大小,Excel默认文本更大,所以A1>60这个条件,对于文本格式的数字来说,结果可能跟你想的完全不一样。

避坑方法:

●选中数据列,点击左上角的感叹号,选择"转换为数字"

●或者在公式里用VALUE(A1)强制转成数字再判断

坑4:边界值处理——等于号放哪边?

"大于等于80算良好还是优秀?""刚好60分算及格还是不及格?"这种边界值的问题,说大不大说小不小,但搞错了就是工作事故。

比如写成绩等级:

=IFS(A2<60,"不及格", A2<80,"及格", A2<90,"良好", A2>=90,"优秀")

在这个公式里,60分是及格的(因为不满足<60,进入下一个条件,60<80成立,返回及格),90分是优秀的。逻辑是对的。

但如果你写成A2<=60,"不及格",那刚好60分的同学就变成不及格了,人家得找你拼命。

避坑方法: 写完公式后,一定要用边界值测试一下——比如刚好60分、刚好75分、刚好90分,看看结果对不对。别嫌麻烦,这一步能帮你避免90%的边界值错误。

坑5:#N/A、#VALUE!错误怎么排查

IFS如果所有条件都不满足,会返回#N/A;如果条件写错了(比如文本跟数字瞎比),会返回#VALUE!。

排查思路:

16.#N/A错误: 检查是不是所有可能的情况都覆盖到了。如果不确定,就在最后加一个TRUE, "其他"作为兜底

17.#VALUE!错误: 检查数据类型是不是匹配——数字列里有没有文本、日期格式对不对

18.拿一个已知正确的值,手动代入公式一步步推,看看哪一步出了问题

— — —

结尾:怎么选函数?一张"决策树"帮你搞定

说了这么多函数,可能有人会问:实际工作中,我到底该用哪个?

给你一个简单的决策思路,顺着往下走就行:

第一步:判断类型

●只有一个条件?→ 用 IF

●多个条件?→ 往下走

第二步:判断方式

●是范围判断(大于多少、小于多少)?→ 用 IFS

●是精确匹配(等于什么值)?→ 用 SWITCH

第三步:要不要查数据?

●需要从别的表/区域查找对应值?→ 用 XLOOKUP/VLOOKUP + IFERROR

●需要多个条件同时匹配才能找到值?→ 用 INDEX+MATCH+IF 或 XLOOKUP多条件查找

●需要返回所有满足条件的结果?→ 用 FILTER

其实核心就一句话:能用简单函数搞定的,就别写复杂的嵌套。 公式写出来是给人看的,不是用来炫技的。你写的公式,过三个月你自己还能看懂,同事拿到手不用问你就能改,这才是好公式。

好了,今天的内容就到这里。IFS和SWITCH这两个函数,语法不难,难的是养成"告别嵌套IF"的思维习惯。下次再碰到多条件判断的场景,别上来就套IF,先想想能不能用IFS或SWITCH写得更清爽。

如果这篇文章对你有帮助,别忘了点个在看,分享给你身边那个还在写8层嵌套IF的同事~

— — —

*这里是效率小本本,每周一个Excel实用技巧,帮你早点下班。我们下周见!*

基本 文件 流程 错误 SQL 调试
  1. 请求信息 : 2026-09-25 21:11:25 HTTP/1.1 GET : http://h.sjds.net/a/553243.html
  2. 运行时间 : 0.074543s [ 吞吐率:13.42req/s ] 内存消耗:4,320.07kb 文件加载:140
  3. 缓存信息 : 0 reads,0 writes
  4. 会话信息 : SESSION_ID=9dcd06cefaa97c0078b4074db3964911
  1. /www/wwwroot/h.sjds.net/public/index.php ( 0.79 KB )
  2. /www/wwwroot/h.sjds.net/vendor/autoload.php ( 0.17 KB )
  3. /www/wwwroot/h.sjds.net/vendor/composer/autoload_real.php ( 2.49 KB )
  4. /www/wwwroot/h.sjds.net/vendor/composer/platform_check.php ( 0.90 KB )
  5. /www/wwwroot/h.sjds.net/vendor/composer/ClassLoader.php ( 14.03 KB )
  6. /www/wwwroot/h.sjds.net/vendor/composer/autoload_static.php ( 4.90 KB )
  7. /www/wwwroot/h.sjds.net/vendor/topthink/think-helper/src/helper.php ( 8.34 KB )
  8. /www/wwwroot/h.sjds.net/vendor/topthink/think-validate/src/helper.php ( 2.19 KB )
  9. /www/wwwroot/h.sjds.net/vendor/topthink/think-orm/src/helper.php ( 1.47 KB )
  10. /www/wwwroot/h.sjds.net/vendor/topthink/think-orm/stubs/load_stubs.php ( 0.16 KB )
  11. /www/wwwroot/h.sjds.net/vendor/topthink/framework/src/think/Exception.php ( 1.69 KB )
  12. /www/wwwroot/h.sjds.net/vendor/topthink/think-container/src/Facade.php ( 2.71 KB )
  13. /www/wwwroot/h.sjds.net/vendor/symfony/deprecation-contracts/function.php ( 0.99 KB )
  14. /www/wwwroot/h.sjds.net/vendor/symfony/polyfill-mbstring/bootstrap.php ( 8.26 KB )
  15. /www/wwwroot/h.sjds.net/vendor/symfony/polyfill-mbstring/bootstrap80.php ( 9.78 KB )
  16. /www/wwwroot/h.sjds.net/vendor/symfony/var-dumper/Resources/functions/dump.php ( 1.49 KB )
  17. /www/wwwroot/h.sjds.net/vendor/topthink/think-dumper/src/helper.php ( 0.18 KB )
  18. /www/wwwroot/h.sjds.net/vendor/symfony/var-dumper/VarDumper.php ( 4.30 KB )
  19. /www/wwwroot/h.sjds.net/vendor/topthink/framework/src/think/App.php ( 15.30 KB )
  20. /www/wwwroot/h.sjds.net/vendor/topthink/think-container/src/Container.php ( 15.76 KB )
  21. /www/wwwroot/h.sjds.net/vendor/psr/container/src/ContainerInterface.php ( 1.02 KB )
  22. /www/wwwroot/h.sjds.net/app/provider.php ( 0.19 KB )
  23. /www/wwwroot/h.sjds.net/vendor/topthink/framework/src/think/Http.php ( 6.04 KB )
  24. /www/wwwroot/h.sjds.net/vendor/topthink/think-helper/src/helper/Str.php ( 7.29 KB )
  25. /www/wwwroot/h.sjds.net/vendor/topthink/framework/src/think/Env.php ( 4.68 KB )
  26. /www/wwwroot/h.sjds.net/app/common.php ( 0.03 KB )
  27. /www/wwwroot/h.sjds.net/vendor/topthink/framework/src/helper.php ( 18.78 KB )
  28. /www/wwwroot/h.sjds.net/vendor/topthink/framework/src/think/Config.php ( 5.54 KB )
  29. /www/wwwroot/h.sjds.net/config/app.php ( 0.95 KB )
  30. /www/wwwroot/h.sjds.net/config/cache.php ( 0.78 KB )
  31. /www/wwwroot/h.sjds.net/config/console.php ( 0.23 KB )
  32. /www/wwwroot/h.sjds.net/config/cookie.php ( 0.56 KB )
  33. /www/wwwroot/h.sjds.net/config/database.php ( 2.48 KB )
  34. /www/wwwroot/h.sjds.net/vendor/topthink/framework/src/think/facade/Env.php ( 1.67 KB )
  35. /www/wwwroot/h.sjds.net/config/filesystem.php ( 0.61 KB )
  36. /www/wwwroot/h.sjds.net/config/lang.php ( 0.91 KB )
  37. /www/wwwroot/h.sjds.net/config/log.php ( 1.35 KB )
  38. /www/wwwroot/h.sjds.net/config/middleware.php ( 0.19 KB )
  39. /www/wwwroot/h.sjds.net/config/route.php ( 1.89 KB )
  40. /www/wwwroot/h.sjds.net/config/session.php ( 0.57 KB )
  41. /www/wwwroot/h.sjds.net/config/trace.php ( 0.34 KB )
  42. /www/wwwroot/h.sjds.net/config/view.php ( 0.82 KB )
  43. /www/wwwroot/h.sjds.net/app/event.php ( 0.25 KB )
  44. /www/wwwroot/h.sjds.net/vendor/topthink/framework/src/think/Event.php ( 7.67 KB )
  45. /www/wwwroot/h.sjds.net/app/service.php ( 0.13 KB )
  46. /www/wwwroot/h.sjds.net/app/AppService.php ( 0.26 KB )
  47. /www/wwwroot/h.sjds.net/vendor/topthink/framework/src/think/Service.php ( 1.64 KB )
  48. /www/wwwroot/h.sjds.net/vendor/topthink/framework/src/think/Lang.php ( 7.35 KB )
  49. /www/wwwroot/h.sjds.net/vendor/topthink/framework/src/lang/zh-cn.php ( 13.70 KB )
  50. /www/wwwroot/h.sjds.net/vendor/topthink/framework/src/think/initializer/Error.php ( 3.31 KB )
  51. /www/wwwroot/h.sjds.net/vendor/topthink/framework/src/think/initializer/RegisterService.php ( 1.33 KB )
  52. /www/wwwroot/h.sjds.net/vendor/services.php ( 0.14 KB )
  53. /www/wwwroot/h.sjds.net/vendor/topthink/framework/src/think/service/PaginatorService.php ( 1.52 KB )
  54. /www/wwwroot/h.sjds.net/vendor/topthink/framework/src/think/service/ValidateService.php ( 0.99 KB )
  55. /www/wwwroot/h.sjds.net/vendor/topthink/framework/src/think/service/ModelService.php ( 2.04 KB )
  56. /www/wwwroot/h.sjds.net/vendor/topthink/think-trace/src/Service.php ( 0.77 KB )
  57. /www/wwwroot/h.sjds.net/vendor/topthink/framework/src/think/Middleware.php ( 6.72 KB )
  58. /www/wwwroot/h.sjds.net/vendor/topthink/framework/src/think/initializer/BootService.php ( 0.77 KB )
  59. /www/wwwroot/h.sjds.net/vendor/topthink/think-orm/src/Paginator.php ( 11.86 KB )
  60. /www/wwwroot/h.sjds.net/vendor/topthink/think-validate/src/Validate.php ( 63.20 KB )
  61. /www/wwwroot/h.sjds.net/vendor/topthink/think-orm/src/Model.php ( 23.55 KB )
  62. /www/wwwroot/h.sjds.net/vendor/topthink/think-orm/src/model/concern/Attribute.php ( 21.05 KB )
  63. /www/wwwroot/h.sjds.net/vendor/topthink/think-orm/src/model/concern/AutoWriteData.php ( 4.21 KB )
  64. /www/wwwroot/h.sjds.net/vendor/topthink/think-orm/src/model/concern/Conversion.php ( 6.44 KB )
  65. /www/wwwroot/h.sjds.net/vendor/topthink/think-orm/src/model/concern/DbConnect.php ( 5.16 KB )
  66. /www/wwwroot/h.sjds.net/vendor/topthink/think-orm/src/model/concern/ModelEvent.php ( 2.33 KB )
  67. /www/wwwroot/h.sjds.net/vendor/topthink/think-orm/src/model/concern/RelationShip.php ( 28.29 KB )
  68. /www/wwwroot/h.sjds.net/vendor/topthink/think-helper/src/contract/Arrayable.php ( 0.09 KB )
  69. /www/wwwroot/h.sjds.net/vendor/topthink/think-helper/src/contract/Jsonable.php ( 0.13 KB )
  70. /www/wwwroot/h.sjds.net/vendor/topthink/think-orm/src/model/contract/Modelable.php ( 0.09 KB )
  71. /www/wwwroot/h.sjds.net/vendor/topthink/framework/src/think/Db.php ( 2.88 KB )
  72. /www/wwwroot/h.sjds.net/vendor/topthink/think-orm/src/DbManager.php ( 8.52 KB )
  73. /www/wwwroot/h.sjds.net/vendor/topthink/framework/src/think/Log.php ( 6.28 KB )
  74. /www/wwwroot/h.sjds.net/vendor/topthink/framework/src/think/Manager.php ( 3.92 KB )
  75. /www/wwwroot/h.sjds.net/vendor/psr/log/src/LoggerTrait.php ( 2.69 KB )
  76. /www/wwwroot/h.sjds.net/vendor/psr/log/src/LoggerInterface.php ( 2.71 KB )
  77. /www/wwwroot/h.sjds.net/vendor/topthink/framework/src/think/Cache.php ( 4.92 KB )
  78. /www/wwwroot/h.sjds.net/vendor/psr/simple-cache/src/CacheInterface.php ( 4.71 KB )
  79. /www/wwwroot/h.sjds.net/vendor/topthink/think-helper/src/helper/Arr.php ( 16.63 KB )
  80. /www/wwwroot/h.sjds.net/vendor/topthink/framework/src/think/cache/driver/File.php ( 7.84 KB )
  81. /www/wwwroot/h.sjds.net/vendor/topthink/framework/src/think/cache/Driver.php ( 9.03 KB )
  82. /www/wwwroot/h.sjds.net/vendor/topthink/framework/src/think/contract/CacheHandlerInterface.php ( 1.99 KB )
  83. /www/wwwroot/h.sjds.net/app/Request.php ( 0.09 KB )
  84. /www/wwwroot/h.sjds.net/vendor/topthink/framework/src/think/Request.php ( 55.78 KB )
  85. /www/wwwroot/h.sjds.net/app/middleware.php ( 0.25 KB )
  86. /www/wwwroot/h.sjds.net/vendor/topthink/framework/src/think/Pipeline.php ( 2.61 KB )
  87. /www/wwwroot/h.sjds.net/vendor/topthink/think-trace/src/TraceDebug.php ( 3.40 KB )
  88. /www/wwwroot/h.sjds.net/vendor/topthink/framework/src/think/middleware/SessionInit.php ( 1.94 KB )
  89. /www/wwwroot/h.sjds.net/vendor/topthink/framework/src/think/Session.php ( 1.80 KB )
  90. /www/wwwroot/h.sjds.net/vendor/topthink/framework/src/think/session/driver/File.php ( 6.27 KB )
  91. /www/wwwroot/h.sjds.net/vendor/topthink/framework/src/think/contract/SessionHandlerInterface.php ( 0.87 KB )
  92. /www/wwwroot/h.sjds.net/vendor/topthink/framework/src/think/session/Store.php ( 7.12 KB )
  93. /www/wwwroot/h.sjds.net/vendor/topthink/framework/src/think/Route.php ( 23.73 KB )
  94. /www/wwwroot/h.sjds.net/vendor/topthink/framework/src/think/route/RuleName.php ( 5.75 KB )
  95. /www/wwwroot/h.sjds.net/vendor/topthink/framework/src/think/route/Domain.php ( 2.53 KB )
  96. /www/wwwroot/h.sjds.net/vendor/topthink/framework/src/think/route/RuleGroup.php ( 22.43 KB )
  97. /www/wwwroot/h.sjds.net/vendor/topthink/framework/src/think/route/Rule.php ( 26.95 KB )
  98. /www/wwwroot/h.sjds.net/vendor/topthink/framework/src/think/route/RuleItem.php ( 9.78 KB )
  99. /www/wwwroot/h.sjds.net/route/app.php ( 1.72 KB )
  100. /www/wwwroot/h.sjds.net/vendor/topthink/framework/src/think/facade/Route.php ( 4.70 KB )
  101. /www/wwwroot/h.sjds.net/vendor/topthink/framework/src/think/route/dispatch/Controller.php ( 4.74 KB )
  102. /www/wwwroot/h.sjds.net/vendor/topthink/framework/src/think/route/Dispatch.php ( 10.44 KB )
  103. /www/wwwroot/h.sjds.net/app/controller/Index.php ( 4.81 KB )
  104. /www/wwwroot/h.sjds.net/app/BaseController.php ( 2.05 KB )
  105. /www/wwwroot/h.sjds.net/vendor/topthink/think-orm/src/facade/Db.php ( 0.93 KB )
  106. /www/wwwroot/h.sjds.net/vendor/topthink/think-orm/src/db/connector/Mysql.php ( 5.44 KB )
  107. /www/wwwroot/h.sjds.net/vendor/topthink/think-orm/src/db/PDOConnection.php ( 52.47 KB )
  108. /www/wwwroot/h.sjds.net/vendor/topthink/think-orm/src/db/Connection.php ( 8.39 KB )
  109. /www/wwwroot/h.sjds.net/vendor/topthink/think-orm/src/db/ConnectionInterface.php ( 4.57 KB )
  110. /www/wwwroot/h.sjds.net/vendor/topthink/think-orm/src/db/builder/Mysql.php ( 16.58 KB )
  111. /www/wwwroot/h.sjds.net/vendor/topthink/think-orm/src/db/Builder.php ( 24.06 KB )
  112. /www/wwwroot/h.sjds.net/vendor/topthink/think-orm/src/db/BaseBuilder.php ( 27.50 KB )
  113. /www/wwwroot/h.sjds.net/vendor/topthink/think-orm/src/db/Query.php ( 15.71 KB )
  114. /www/wwwroot/h.sjds.net/vendor/topthink/think-orm/src/db/BaseQuery.php ( 45.13 KB )
  115. /www/wwwroot/h.sjds.net/vendor/topthink/think-orm/src/db/concern/TimeFieldQuery.php ( 7.43 KB )
  116. /www/wwwroot/h.sjds.net/vendor/topthink/think-orm/src/db/concern/AggregateQuery.php ( 3.26 KB )
  117. /www/wwwroot/h.sjds.net/vendor/topthink/think-orm/src/db/concern/ModelRelationQuery.php ( 20.07 KB )
  118. /www/wwwroot/h.sjds.net/vendor/topthink/think-orm/src/db/concern/ParamsBind.php ( 3.66 KB )
  119. /www/wwwroot/h.sjds.net/vendor/topthink/think-orm/src/db/concern/ResultOperation.php ( 7.01 KB )
  120. /www/wwwroot/h.sjds.net/vendor/topthink/think-orm/src/db/concern/WhereQuery.php ( 19.37 KB )
  121. /www/wwwroot/h.sjds.net/vendor/topthink/think-orm/src/db/concern/JoinAndViewQuery.php ( 7.11 KB )
  122. /www/wwwroot/h.sjds.net/vendor/topthink/think-orm/src/db/concern/TableFieldInfo.php ( 2.63 KB )
  123. /www/wwwroot/h.sjds.net/vendor/topthink/think-orm/src/db/concern/Transaction.php ( 2.77 KB )
  124. /www/wwwroot/h.sjds.net/vendor/topthink/framework/src/think/log/driver/File.php ( 5.96 KB )
  125. /www/wwwroot/h.sjds.net/vendor/topthink/framework/src/think/contract/LogHandlerInterface.php ( 0.86 KB )
  126. /www/wwwroot/h.sjds.net/vendor/topthink/framework/src/think/log/Channel.php ( 3.89 KB )
  127. /www/wwwroot/h.sjds.net/vendor/topthink/framework/src/think/event/LogRecord.php ( 1.02 KB )
  128. /www/wwwroot/h.sjds.net/vendor/topthink/think-helper/src/Collection.php ( 16.47 KB )
  129. /www/wwwroot/h.sjds.net/vendor/topthink/framework/src/think/facade/View.php ( 1.70 KB )
  130. /www/wwwroot/h.sjds.net/vendor/topthink/framework/src/think/View.php ( 4.39 KB )
  131. /www/wwwroot/h.sjds.net/vendor/topthink/framework/src/think/Response.php ( 8.81 KB )
  132. /www/wwwroot/h.sjds.net/vendor/topthink/framework/src/think/response/View.php ( 3.29 KB )
  133. /www/wwwroot/h.sjds.net/vendor/topthink/framework/src/think/Cookie.php ( 6.06 KB )
  134. /www/wwwroot/h.sjds.net/vendor/topthink/think-view/src/Think.php ( 8.38 KB )
  135. /www/wwwroot/h.sjds.net/vendor/topthink/framework/src/think/contract/TemplateHandlerInterface.php ( 1.60 KB )
  136. /www/wwwroot/h.sjds.net/vendor/topthink/think-template/src/Template.php ( 46.61 KB )
  137. /www/wwwroot/h.sjds.net/vendor/topthink/think-template/src/template/driver/File.php ( 2.41 KB )
  138. /www/wwwroot/h.sjds.net/vendor/topthink/think-template/src/template/contract/DriverInterface.php ( 0.86 KB )
  139. /www/wwwroot/h.sjds.net/runtime/temp/c1d6e8c94b2c2fa10e259903674c804d.php ( 8.11 KB )
  140. /www/wwwroot/h.sjds.net/vendor/topthink/think-trace/src/Html.php ( 4.42 KB )
  1. CONNECT:[ UseTime:0.000525s ] mysql:host=172.18.0.4;port=3306;dbname=h_sjds;charset=utf8mb4
  2. SHOW FULL COLUMNS FROM `fenlei` [ RunTime:0.000895s ]
  3. SELECT * FROM `fenlei` WHERE `fid` = 0 [ RunTime:0.000389s ]
  4. SELECT * FROM `fenlei` WHERE `fid` = 63 [ RunTime:0.000358s ]
  5. SHOW FULL COLUMNS FROM `set` [ RunTime:0.000583s ]
  6. SELECT * FROM `set` [ RunTime:0.000293s ]
  7. SHOW FULL COLUMNS FROM `article` [ RunTime:0.000621s ]
  8. SELECT * FROM `article` WHERE `id` = 553243 LIMIT 1 [ RunTime:0.000470s ]
  9. UPDATE `article` SET `lasttime` = 1790341885 WHERE `id` = 553243 [ RunTime:0.002685s ]
  10. SELECT * FROM `fenlei` WHERE `id` = 65 LIMIT 1 [ RunTime:0.000319s ]
  11. SELECT * FROM `article` WHERE `id` < 553243 ORDER BY `id` DESC LIMIT 1 [ RunTime:0.000421s ]
  12. SELECT * FROM `article` WHERE `id` > 553243 ORDER BY `id` ASC LIMIT 1 [ RunTime:0.000357s ]
  13. SELECT * FROM `article` WHERE `id` < 553243 ORDER BY `id` DESC LIMIT 10 [ RunTime:0.000618s ]
  14. SELECT * FROM `article` WHERE `id` < 553243 ORDER BY `id` DESC LIMIT 10,10 [ RunTime:0.000503s ]
  15. SELECT * FROM `article` WHERE `id` < 553243 ORDER BY `id` DESC LIMIT 20,10 [ RunTime:0.000499s ]
0.083920s