HYPERLINK函数能否溢出显示友好名称?求动态数组解决方案
动态数组中HYPERLINK友好名称重复的解决办法
问题根源
直接使用=HYPERLINK(tblWebsites[URL],tblWebsites[Website])时,HYPERLINK的friendly_name参数不会跟随动态数组自动迭代,只会固定引用第一个单元格的值,导致所有溢出结果都显示第一个网站的名称。
两种可行方案
方案1:用MAP函数(推荐,逻辑清晰)
MAP函数可以同时遍历网站名称和URL两个列,对每一组对应值生成独立的HYPERLINK链接:
=MAP(tblWebsites[Website], tblWebsites[URL], LAMBDA(name, url, HYPERLINK(url, name)))
在空白单元格输入公式后回车,会自动溢出所有结果,每个单元格都是对应网站名称的可点击链接。
方案2:用BYROW函数
通过BYROW迭代表格的每一行,逐行提取名称和URL生成HYPERLINK:
=BYROW(tblWebsites, LAMBDA(row, HYPERLINK(row[URL], row[Website])))
这里的row代表表格的单行数据,row[URL]和row[Website]是结构化引用,分别取当前行的对应字段值。
注意
- 以上方法需要Excel 365/2021及以上版本,因为依赖动态数组函数
MAP和BYROW。 - 公式输入后无需手动下拉填充,动态数组会自动完成溢出,完全不用逐个单元格输入公式。
内容的提问来源于stack exchange,提问作者Statto
相关产品推荐
相关产品推荐

