如何返回一维数组中每个目标实例的单元格地址并解决循环引用?
查找指定姓名所有实例并整理单元格地址的解决方案
获取指定姓名的所有单元格地址
假设姓名存储在L:L列,待查找的姓名在E2单元格,使用以下公式可将匹配的所有单元格地址以逗号分隔拼接:
=TEXTJOIN(", ", TRUE, IF(L:L=E2, ADDRESS(ROW(L:L), COLUMN(L:L)), ""))
- 逻辑:
IF函数遍历L:L列,匹配E2姓名时返回对应单元格地址,否则返回空文本;TEXTJOIN自动忽略空值,将有效地址用,拼接成列表。 - 注意:Excel需按
Ctrl+Shift+Enter触发数组计算,Google Sheets直接回车即可。
修复循环引用的求和公式
你当前的公式因引用公式所在列导致循环引用,可通过以下方式修改:
- 将公式移至非
E列的单元格(比如F2),使用单单元格引用版本:
=IFNA(VLOOKUP(E2, QUERY(L:O, "select L, sum(O) where L is not null group by L label sum(O)''"), 2, FALSE), 0)
下拉填充即可批量计算。
- 如果需要数组批量计算(比如Google Sheets),用
ARRAYFORMULA包裹:
=ARRAYFORMULA(IFNA(VLOOKUP(E2:E, QUERY(L:O, "select L, sum(O) where L is not null group by L label sum(O)''"), 2, FALSE), 0))
确保公式所在列不是E列,即可规避循环引用。
内容的提问来源于stack exchange,提问作者Fish In a Tree 0
相关产品推荐
相关产品推荐

