excel学习库

excel表格_excel函数公式大全_execl从入门到精通

录入收样日期,就可以引用表格1中相同的指定数据

周末继续解决粉丝发过来的问题,本次问题的就是“录入收样日期,就可以引用表格1中相同收样日期的指定数据”,根据这个问题描述,他是想建立一个表1和表2的串联动态报表,这样只需要更新表1的事务数据,表2作为查询数据就可以了。

分析结构

看了一下他提供过来的源数据结构,需要在表2中的B2录入收样日期,返回表1指定的数据,而这些数据分别分布不在同的列。需要注意的有以下几点:

收样日期是变量,可能一天收一行数据,也可能是多行数据,这里是一对多。

返回的列不连续,有的在第一列A列,有的在M列。

数据也没有唯一值,所以没有办法用VLOOKUP来引用。

以上这几个点对于低版本的Excel来确实有点难,需要用到函数特别多,而且也不方便理解,但是也为了照顾低版本Excel,分别写两个函数供大家参考。

低版本公式

低版本公式相当复杂,也不好解释,是一个数组公式,需要按Ctrl+Shift+回定才能运算的公式。录入公式:

=IFERROR(INDEX(OFFSET(表格1!$A$2:$A$10,,MATCH(低版本!A$2,表格1!$A$1:$P$1,)-1),SMALL(IF(表格1!$H$2:$H$10=低版本!$B$1,ROW(表格1!$H$2:$H$10)-ROW(表格1!$A$1)),ROW($A1))),"")

可以发现这个公式对于没有函数基础的人来说,就是个“天书”,里面光公式就有:IFERRORINDEXOFFSETMATCHSMALLIFROW6个公式。运算层级达到6层。

所以,还是高版本好解决。

高版本公式:

如果你的Excel公式没有以下函数,证明你的Excel还不是最新版本的,古老师版本为Office 365。在高版本中解决这类问题就相对简单了。直接上答案,录入公式;

=CHOOSECOLS(FILTER(表格1!A:P,表格1!H:H=B1),MATCH(A2:I2,表格1!A1:P1,0))

而且这个公式是动态数组公式,不需要填充公式,录入后,直接一个公式实现动态串联表1的数据,实现了更新表1的数据就动态串联到表2了。

录入13日的收样数据:

高版本公式思路

这个思路是经典的筛选函数加选列函数的应用,通过函数:

FILTER(表格1!A:P,表格1!H:H=B1),筛选出表1中符合条件,也就是收样日期的表1AP列的数据。

上面的返回结果,有无效的列,也就是表2不想要的的列,需要用选列函数来选择指定的列号,而指定的列号是由MATCH函数来判断的。录入函数:=MATCH(A2:I2,表格1!A1:P1,0),就可以知道表2只要返回表1的列号分别为:第1234567913列)

最后通过选择列号嵌套两个函数(第一参数FILTER,第二参数是MATCH,合并录入函数后就返回了正确的结果。=CHOOSECOLS(FILTER(表格1!A:P,表格1!H:H=B1),MATCH(A2:I2,表格1!A1:P1,0))

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

«    2024年12月    »
1
2345678
9101112131415
16171819202122
23242526272829
3031
控制面板
您好,欢迎到访网站!
  查看权限
网站分类
搜索
最新留言
    文章归档
      友情链接