我正在尝试使用一个on公式,它将为我提供存在值的所有列号。为了示例起见:我想在Sheet1
上找到ThisHeader
值在Row1
中的所有列。
如果我正在搜索的值只出现一次,我就可以使用下面的公式检索我想要的结果:
=MATCH("ThisHeader",1:1,0)
我不知道如何实现相同的逻辑,但是如果ThisHeader
存在于多个列中,请给我多个列号。
对于结果的显示方式,我不太在意,不过理想情况下,我应该在检索列号之后使用:=SUBSTITUTE(ADDRESS(1,col_number,4),"1","")
,以便转换成字母格式。也许用逗号或破折号分隔每一个数字/列字母。如果这是最好的或唯一的路由,我也可以添加或使用多个公式和列,而不是嵌套公式。
提前感谢!
发布于 2021-01-19 17:29:35
如果您有O365,可以使用:
=AGGREGATE(15,6,1/($1:$1="ThisHeader")*COLUMN($1:$1),SEQUENCE(COUNTIF($1:$1,"ThisHeader")))
如果您没有SEQUENCE
函数,您可以替换它并使用:
=AGGREGATE(15,6,1/($1:$1="ThisHeader")*COLUMN($1:$1),ROW(INDEX($A:$A,1):INDEX($A:$A,COUNTIF($1:$1,"ThisHeader"))))
结果
该公式返回列号的数组。因此,如果您没有最近版本的动态数组功能,那么要将它们可视化,您可能必须将其输入为数组公式(在多个单元格上使用ctrl+shift+enter
)。或者使用INDEX
函数返回每个元素。
https://stackoverflow.com/questions/65801341
复制