如何在excel图表中查找指定数据
如何在excel图表中查找指定数据?用一个例子来说明,如下图1所示,它是一个记录员工值班日期的表。安排日常值班时,要核对员工最后一次值班日期,避免值班时间隔过近。比如最近可以发现张无忌在2019年9月9日值班,所以第二天的值班不会安排张无忌。现在,在询问张无极之后,我得到了他最近的值班日期,2019年9月9日,其他员工也是如此。
图1
接下来,我们用公式和VBA来解决这个问题。
请使用indexsumproducmaxrow函数。
公式如下:
=INDEX(B $ 2: B $ 10,SUMPRODUCT(MAX)(ROW(A $ 2: A $ 10)*(D $ 2=$ A $ 2: A $ 10))-1))
该公式首先将单元格D2中的值与单元格区域A2:A10中的值进行比较,相同则返回TRUE,不同则返回FALSE,从而得到由TRUE和FALSE组成的数组,然后将其与A2:A10所在的行号组成的数组相乘,得到由行号和0组成的数组,MAX函数得到该数组的最大值。也就是说,在A2:A10的单元格D2中具有相同值的数据的最后位置,减1是因为从第二行开始搜索b23360b10中的值,并且获得b23360b10中要搜索的值的位置,然后INDEX函数获得相应的值。之所以使用SUMPRODUCT函数,是因为它可以处理数组公式,而无需在输入公式后按Ctrl Shift Enter。
结果如下图2所示。
图2。
使用LOOKUP函数。
公式如下:
=LOOKUP(2,1/($A$2:$A$10=$D$2)、$B$2:$B$10)
在公式中,比较A2:A10和D2中的值,相等则返回TRUE,不相等则返回FALSE,从而得到一个由TRUE和FALSE组成的数组,然后将这个数组除以1得到1和错误值#DIV/0!由于在该数组中找不到2,LOOKUP函数搜索该数组,直到最后一个最大值小于2,即数组中的最后一个1,并返回B2:B10中的对应值,即列表中要搜索的数据的最后一个值。
结果如下图3所示。
图3。
使用VBA定制功能。
在VBE中输入以下代码:
函数LookupLastItem(LookupValue as string,_
查找范围范围,
列数为整数)
模糊如龙
带LookupRange
对于i=。列(1)。单元格。计数到1步骤1
如果LookupValue=。单元格(I,1)然后
LookupLastItem=。细胞(I,ColNum)
退出功能
如果…就会结束
接下来我
以…结尾
结束功能
然后,在工作表中,像Excel内置函数一样,使用公式:
=LookupLastItem(D $ 2,A $ 2: B $ 10,2)
结果如下图4所示。
图4
无论使用哪种方法,最终结果如下图5所示。
图5
版权声明:如何在excel图表中查找指定数据是由宝哥软件园云端程序自动收集整理而来。如果本文侵犯了你的权益,请联系本站底部QQ或者邮箱删除。