首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何在 Excel 二维表中横向查找最晚更新的非空值?

有读者遇到这么个问题:有一个二维表,其中的单元格并未全部填充满,如何根据行标题,向右查找出最新的值?

案例 :

某公司近期因准备 IPO,要给员工配股,因此统计了 2016 年至今在职员工的职级,规则如下,如下图 1 的 A 至 F 列数据表所示:

统计每个人自 2016 年起的职级

如果职级发生变化,则连续向右填充至最新的状态

如果之后职级无更新,则留空不需要再填

根据 H2 单元格中填入的姓名,在 I2 单元格查找出该员工的最新职级。

效果如下图 2 所示。

解决方案:

1. 将 J 列设置为辅助列,在 J2 单元格中输入以下公式:

=COUNTA(INDEX(B2:F8,MATCH(H2,A2:A8,0),))

公式释义:

MATCH(H2,A2:A8,0):在 A2:A8 区域查找 H2,并返回其在区域中的位置

INDEX(B2:F8,...,):

返回 B2:F8 区域中指定行、列的值;

行数为上述 match 函数的查找结果;

列数为空,即不限定列,表示查找出区域中姓名与 H2 内容相同的所有单元格;

COUNTA(...):

COUNTA函数功能是返回参数列表中非空的单元格个数;

即统计出 H2 单元格的员工在区域中的职级共有几个非空单元格;

本例中,“诸葛钢铁”的职级共有 3 个单元格

2. 在 I2 单元格中输入以下公式:

=INDEX(B2:F8,MATCH(H2,A2:A8,0),J2)

公式释义:

MATCH(H2,A2:A8,0):再次使用 match 函数匹配出所需查找的姓名在 A2:A8 区域中的位置,并将其用作行号;

J2:将 J2 单元格,即上述辅助列的结果作为列号,即区域中的最后一列非空单元格;

INDEX(B2:F8,...,):用 index 函数在 B2:F8 区域中查找出行、列交叉位置的值

如果在 H2 中输入其他姓名,I2 单元格的结果也会随之变化。

Excel学习世界

转发、在看也是爱!

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20200715A0ST7000?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

相关快讯

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券