Excel区域搜索匹配今日日期:如何返回对应列名而非单元格地址
解决方案
你只需要修改原公式中获取地址的逻辑,提取纯列名即可,调整后的公式如下:
适用Excel 365/2021及以上版本
=TEXTJOIN(",",1,UNIQUE(IF($1:$19=TODAY(),SUBSTITUTE(ADDRESS(1,COLUMN($1:$19),4),"1",""),"")))
逻辑说明:
- 把原公式中获取匹配单元格地址的
ADDRESS(ROW($1:$19),COLUMN($1:$19),4),替换为固定行号为1的地址获取逻辑ADDRESS(1,COLUMN($1:$19),4),得到类似E1的列首地址 - 用
SUBSTITUTE函数删除地址里的行号1,即可得到纯列名E - 外层加
UNIQUE函数做去重,避免同一列有多个匹配日期时重复输出相同列名
适用旧版Excel(无UNIQUE函数)
=TEXTJOIN(",",1,IF(MMULT(--(TRANSPOSE(COLUMN($1:$19))=COLUMN($1:$19)),--($1:$19=TODAY()))>0,SUBSTITUTE(ADDRESS(1,COLUMN($1:$19),4),"1",""),""))
输入完成后需要按Ctrl+Shift+Enter组合键确认,作为数组公式生效。
内容的提问来源于stack exchange,提问作者Max Madill
相关产品推荐
相关产品推荐

