首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >查找范围内值的单元格地址

查找范围内值的单元格地址
EN

Stack Overflow用户
提问于 2022-10-10 22:29:44
回答 2查看 58关注 0票数 0

在Google /Excel中,如何在指定的范围内找到具有指定值的单元格的地址,其中值可能在任何行或列中?

我最好的猜测是

代码语言:javascript
复制
=CELL("address",LOOKUP("My search value", $search:$range))

但不起作用。当它找到一个值时,它每次都返回最右边的列,而不是它找到的单元格的列。

我有一张漂亮的、格式化的表格,它们代表着各种概念。每个表包含以下内容

代码语言:javascript
复制
|                             Title                               |
+------+------+-------+------+------+-------+------+------+-------+
| Sub  | Prop | Name  | Sub  | Prop | Name  | Sub  | Prop | Name  |
+------+------+-------+------+------+-------+------+------+-------+
|   Sub prop  | value |   Sub prop  | value |   Sub prop  | value |
+------+------+-------+------+------+-------+------+------+-------+
| data | data | data  | data | data | data  | data | data | data  |
| data | data | data  | data | data | data  | data | data | data  |
⋮

我有8张可变高度的表格排列在表格中,3张宽,3张高,除了最后一列只有2张表--见图。这些填充范围C2:AI78

现在,我有一个右边的桌子,由AK2:AO11组成。

代码语言:javascript
复制
| Table title   | Table title address   | ... |
+---------------+-----------------------+-----+
| Table 1 Title |                       | ... |
| Table 2 Title |                       | ... |
⋮
| Table 8 Title |                       | ... |

我想填写Table title address列。(对于所有8个值,手工操作会更容易吗?)绝对一点儿没错。我需要写这个问题吗?是。但是使用静态值并不是StackOverflow的方式,现在是吗?)

基于非常有限的Excel/Google经验,我认为我需要使用CELL()LOOKUP()

代码语言:javascript
复制
=CELL("address",LOOKUP($AK4, $C$2:$AI$78))

这将检索错误的值。对于AL4 (查找值Death Wave),LOOKUP($AK4, $C$2:$AI$78)应该检索单元格C2,但是它会找到AI2

代码语言:javascript
复制
| Max Levels                                    |
+------------------+---------------+----+--+----+
| UW               | Table Address |    |  |    |
+------------------+---------------+----+--+----+
| Death Wave       | $AI$3         | 3  |  | 15 |
| Poison Swamp     | $AI$30        |    |  |    |
| Smart Missiles   | $AI$56        |    |  |    |
| Black Hole       | #N/A          | 1  |  |    |
| Inner Land Mines | $AI$3         |    |  |    |
| Chain Lightning  | #N/A          |    |  |    |
| Golden Tower     | $AI$3         |    |  |    |
| Chrono Field     | #N/A          | 25 |  |    |

#N/A列的错误消息是

在查找评估中没有找到值'‘。

我期望的桌子是

代码语言:javascript
复制
| Max Levels                                    |
+------------------+---------------+----+--+----+
| UW               | Table Address |    |  |    |
+------------------+---------------+----+--+----+
| Death Wave       | $C$2          | 3  |  | 15 |
| Poison Swamp     | $C$28         |    |  |    |
| Smart Missiles   | $C$54         |    |  |    |
| Black Hole       | $O$2          | 1  |  |    |
| Inner Land Mines | $O$28         |    |  |    |
| Chain Lightning  | $O$54         |    |  |    |
| Golden Tower     | $AA$2         |    |  |    |
| Chrono Field     | $AA$39        | 25 |  |    |
EN

回答 2

Stack Overflow用户

发布于 2022-10-10 23:09:10

尝试:

代码语言:javascript
复制
=INDEX(ADDRESS(
 VLOOKUP(A2:A3, SPLIT(FLATTEN(D2:F4&"​"&ROW(D2:F4)),    "​"), 2, ), 
 VLOOKUP(A2:A3, SPLIT(FLATTEN(D2:F4&"​"&COLUMN(D2:F4)), "​"), 2, ), 4))

或者如果您想要创建跳转链接:

代码语言:javascript
复制
=INDEX(LAMBDA(x, HYPERLINK("#gid=1273961649&range="&x, x))(ADDRESS(
 VLOOKUP(A2:A3, SPLIT(FLATTEN(D2:F4&"​"&ROW(D2:F4)),    "​"), 2, ), 
 VLOOKUP(A2:A3, SPLIT(FLATTEN(D2:F4&"​"&COLUMN(D2:F4)), "​"), 2, ), 4)))

票数 1
EN

Stack Overflow用户

发布于 2022-10-10 23:48:32

试试这个:

代码语言:javascript
复制
=QUERY(
  FLATTEN(
    ARRAYFORMULA(
      IF(
        C:AI=$AK4, 
        ADDRESS(ROW(C:AI), COLUMN(C:AI)),
        ""
        )
      )
    ), "
    SELECT 
      Col1 
    WHERE 
      Col1<>''
    "
  , 0)

基本上,如果所有单元格相等于搜索项,则将搜索范围内的所有单元格转换为地址。然后使二维范围变平,并滤除非空值。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/74021251

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档