这是一个特殊的求助题,如何查找出结果单元格所在的行号?
别想多了,什么 row 啊,indirect 函数啊,不需要的。化繁为简,一个简单的公式就能搞定。
案例:根据下图 1 的 A 列中查找出与 C2 单元格的姓名匹配的值:
在 D 列返回姓名所在的行号;
A 列中的匹配单元格自动高亮显示
效果如下图 2、3 所示。
解决方案:1. 在 D2 单元格中输入以下公式:
=MATCH(C2,A:A,0)
公式释义:
在 A 列中查找与 C2 单元格的值匹配的单元格,并返回其在整个序列中的顺序号;
因为第二个参数选中了整个 A 列,匹配区域是从 A1 单元格开始的,所以匹配出来的那个值的序号正好就是其所在的行号
这个公式的好处是:如果将区域内的其他任意单元格清空也没关系,并不影响查找结果。
但是如果查找的姓名不存在,结果则会返回错误值。
2. 在公式外面套上 iferror 函数,就能将错误值显示成“找不到”。
=IFERROR(MATCH(C2,A:A,0),"找不到")
接下来设置条件格式,让匹配的单元格自动变色。
3. 选中 A 列 --> 选择菜单栏的“开始”-->“条件格式”-->“新建规则”
4. 在弹出的对话框中选择“使用公式确定要设置格式的单元格”--> 输入公式 =A1=$C$2 --> 点击“格式”按钮
* 请注意单元格的绝对和相对引用。
5. 在弹出的对话框中选择“填充”选项卡 --> 选择所需的填充色 --> 点击“确定”
6. 点击“确定”。
现在没有单元格变色,因为 C 列的姓名不存在。
如果将 C2 单元格改成 A 列中存在的姓名,对应的单元格就会自动变色了。