在Google /Excel中,如何在指定的范围内找到具有指定值的单元格的地址,其中值可能在任何行或列中?
我最好的猜测是
=CELL("address",LOOKUP("My search value", $search:$range))但不起作用。当它找到一个值时,它每次都返回最右边的列,而不是它找到的单元格的列。
我有一张漂亮的、格式化的表格,它们代表着各种概念。每个表包含以下内容
| 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组成。
| Table title | Table title address | ... |
+---------------+-----------------------+-----+
| Table 1 Title | | ... |
| Table 2 Title | | ... |
⋮
| Table 8 Title | | ... |

我想填写Table title address列。(对于所有8个值,手工操作会更容易吗?)绝对一点儿没错。我需要写这个问题吗?是。但是使用静态值并不是StackOverflow的方式,现在是吗?)
基于非常有限的Excel/Google经验,我认为我需要使用CELL()和LOOKUP()。
=CELL("address",LOOKUP($AK4, $C$2:$AI$78))这将检索错误的值。对于AL4 (查找值Death Wave),LOOKUP($AK4, $C$2:$AI$78)应该检索单元格C2,但是它会找到AI2。

| 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列的错误消息是
在查找评估中没有找到值'‘。
我期望的桌子是
| 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 | | |发布于 2022-10-10 23:09:10
尝试:
=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))

或者如果您想要创建跳转链接:
=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)))

发布于 2022-10-10 23:48:32
试试这个:
=QUERY(
FLATTEN(
ARRAYFORMULA(
IF(
C:AI=$AK4,
ADDRESS(ROW(C:AI), COLUMN(C:AI)),
""
)
)
), "
SELECT
Col1
WHERE
Col1<>''
"
, 0)基本上,如果所有单元格相等于搜索项,则将搜索范围内的所有单元格转换为地址。然后使二维范围变平,并滤除非空值。
https://stackoverflow.com/questions/74021251
复制相似问题