jq怎么动态渲染table表格_EXCEL动态表格怎么制作

如果你是一位校长,想看看学生的信息,你是希望这样看呢?

a3b0f2fe193bed3ec1acdc74830186ce.gif

还是希望是这样的呢?

7a4923bdf7dad285d222dab1f2f01bb0.gif

我想大部分人都希望看到的是后一种吧,看着舒服,简单!

第一步:

我们看到班别对应的班级与H2中的班级是一致的,直接引用就可以了,而H2中班级是用数据验证来做的,就是我们以前讲的下拉列表的做法,比较简单。

第二步:

下面动态的数据是根据B2中变化的班级来确定的。比如当B2中显示一班,我们想要一班的数据全部显示在下面,怎么办呢?

首先以如下数据表中A1做为参照,用offset函数,通过向下偏移和向右偏移来实现。

f23954f16546a2337fa000ba6780e22e.png

我们用if函数先找到一班到底在哪些行,

=IF(数据表!$D$2:$D$16=查询表!$B$2,ROW($2:$16))

这样我们找到了一班在2-6行,那么用offset函数,那我们在查询表的A5单元格要返回数据表中第2行的序号记录,那就向下偏移2-1即1行,向右偏移0列。向右偏移的位置很好确定,因为列不多,且不是每列数据都要返回,直接修改参数就可以,主要是我们公式每下拉一行,向下偏移的行数要在返回的行号里从小到大依次取值,然后减1。

所以想到用small函数。

=OFFSET(数据表!$A$1,SMALL(IF(数据表!$D$2:$D$16=查询表!$B$2,ROW($2:$16)),ROW($A1))-1,0)

这样把公式做好后,下拉,看看数据表里班级最多的学生有多少,就下拉多少行。

但当学生较少时,那些有公式但是行数超过该班学生记录数的单元格会显示错误值。所以在刚写的公式外层加个iferror避错。

最终公式:

=IFERROR(OFFSET(数据表!$A$1,SMALL(IF(数据表!$D$2:$D$16=查询表!$B$2,ROW($2:$16)),ROW($A1))-1,0),"")

以上题目不是很难,但却是很多同学在工作中需要做成的模板(类似),大家可以参照。

转自: 米宏Office

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值