查找公式中 , 表示区域的方法是:OFFSET(D5,0,0,500,500) , 表示以D5为起始单元格的500行500列的区域 。
有位朋友马上提出问题:
如果区域不是500行500列 , 而是不断扩大的动态区域怎么办?
解决方法公式实现
只要在昨天的公式的基础上 , 把OFFSET函数的第四个和第五个参数 , 即表示区域行高和列宽的参数 , 改成动态的就好了 。
公式变为:
=IF(COUNTIF(OFFSET($D$6,0,0,COUNTA($D:$D),COUNTA($6:$6)),A4)<>0,”有”,”无”)

公式解释
OFFSET($D$6,0,0,COUNTA($D:$D),COUNTA($6:$6)):
以D6为基准点 , 向下偏移0行 , 向右偏移0列 , 再取高为COUNTA($D:$D)、宽为COUNTA($6:$6)的区域 。
COUNTA($D:$D)指D列的数据个数 , COUNTA($6:$6)指第六行列的数据个数 , 随着数据行列的增多 , 区域不断扩大 。
本部分是得到以D6为起始单元格动态区域 。
COUNTIF(OFFSET($D$6,0,0,COUNTA($D:$D),COUNTA($6:$6)),A4):
在上述动态区域内 , 查找A4单元格的ID 。
=IF(COUNTIF(OFFSET($D$6,0,0,COUNTA($D:$D),COUNTA($6:$6)),A4)<>0,”有”,”无”):
如果查找到的A4单元格中的ID个数不为零 , 则返回“有” , 否则返回“无” 。
另一直观例子
再举一个很容易看到结果的例子:
如下数据:

在B4单元格输入公式:
=COUNTIF(OFFSET($D$6,0,0,COUNTA($D:$D),COUNTA($6:$6)),A4)
计算出以D6为起始单元格动态区域中1的个数 , 往下填充 , 计算出2的个数 , 然后 , 继续在数据区域输入数值 , 1、2出现的个数也随着改变 。
如下动图:
【OFFSET函数使用示例:动态区域中查找指定数据】

猜你喜欢
- OFFSET函数提取最大销量所在整列信息
- OFFSET函数制作动态图表
- Offset函数制作双列数据动态图表
- ROUND函数对数据四舍五入
- canva可画支持手绘吗?canva可画怎么使用画笔?
- excel技巧禁用最近使用的工作簿列表
- 如何为火狐浏览器添加附加组件?火狐浏览器附加组件管理器使用教程
- 到达想要的单元格——Offset属性
- excel图表快速确定工作表中已使用的区域——UsedRange属性
- 告诉你单元格住在哪儿——使用Address属性获取单元格地址
