[英]Horizontal Index Match: Find Text In A Matrix And Return The Header
将其用作数组公式似乎可以很好地解决问题:
{=INDEX(Auditors;1;SUM(IF(Names=Auditors;COLUMN(Auditors);0)))}
这可以通过创建与表大小相同的矩阵来实现,其中单元格包含0或单元格的列(如果存在匹配项)。 请注意,它假定您的Auditor定义的范围从第1列开始,并且包含标题和数据(我使用$ A $ 1:$ C $ 4)
另外,如果没有匹配项,默认情况下将返回Auditor 1。 要强制执行错误,可以使用SUM结果为零的事实,例如:
{=INDEX(Auditors;1;1/(1/SUM(IF(Names=Auditors;COLUMN(Auditors);0))))}
另外,由于它在整个“审核员”表中查找,因此它也将与审核员自身匹配; 如果这不是您想要的,则可能要为标题和审核器表的数据定义单独的范围,或相应地对它们进行抵消。
有时由于某些原因,我们不希望使用数组公式。 这是一个使用常规旧SUMPRODUCT
的示例。
=INDEX(header_row,SUMPRODUCT((names=specific_name)*(COLUMN(header_row)-COLUMN(header_row_first_cell)+1)))
除specific_name外,所有单元格/范围都应固定。
另外,我通常喜欢索引我的行和列,而不是COLUMN(header_row)-COLUMN(header_row_first_cell)+1
废话。 因此,在标题上方,我将对第1至3列进行编号,并简单地使用该范围。
=INDEX(header_row,SUMPRODUCT((names=specific_name)*(column_index)))
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.