【问题标题】:Look up for a given text value in a 2-dimensional range (matrix) and return the reference of the cell (row and column)在二维范围(矩阵)中查找给定的文本值并返回单元格的引用(行和列)
【发布时间】:2017-08-29 00:02:49
【问题描述】:

基本上,我正在寻找一种在矩阵中查找给定文本/数值的方法,并返回单元格(行和列)的坐标,以便我可以用来计算矩阵中给定单元格之间的“距离”。有任何想法吗?我一直在研究并发现有关 INDEX/MATCH 组合的信息,但 MATCH 仅适用于一维数组。

【问题讨论】:

  • 听起来像一些示例数据,预期结果可能会有所帮助

标签: excel


【解决方案1】:

我找到了一个解决方案,前提是矩阵不包含重复条目。 (否则,这些公式将不起作用。)可能仍然可以使用重复的条目来完成,但公式会更复杂。现在我假设没有重复的条目。也就是说,这就是我发现的:

求行号的公式:

= SUMPRODUCT(MMULT(TRANSPOSE(ROW(<matrix>)),(<matrix>=<input value>)+0))

计算列号的公式:

= SUMPRODUCT(MMULT((<matrix>=<input value>)+0,TRANSPOSE(COLUMN(<matrix>))))

注意:对于这两种情况,您必须在公式框中输入公式后按Ctrl+Shift+Enter,否则公式会报错。

【讨论】:

    【解决方案2】:

    这是另一种方式。假设 A2:E10 包含表,而 G2 包含感兴趣的值。

    返回原生行号:

    H2, confirmed with CONTROL+SHIFT+ENTER
    
    =SMALL(IF(A2:E10=G2,ROW(A2:E10)),1)
    

    返回原生列号:

    I2, confirmed with CONTROL+SHIFT+ENTER
    
    =SMALL(IF(INDEX(A:E,H2,0)=G2,COLUMN(A2:E10)),1)
    

    请注意,如果感兴趣的值出现不止一次,则返回第一个(最左上角)的行号和列号。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-05-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-07-05
      相关资源
      最近更新 更多