我有两个包含相应数据的 excel 工作表,它们以 1:1 的比例相互映射。我试图在第三个工作表上构建一个搜索框,用户可以在单元格 A2 中输入一个字符串,单元格 B2 会找到第一个工作表,并在第二个工作表的同一单元格中显示相应的值。
有什么想法吗?我一直在研究 CELL 和 MATCH 函数的某种组合,但 MATCH 似乎仅适用于单列,而我需要搜索整个表。
编辑:第一张表上的表格中的字符串是唯一的。
答案1
在 B2 中:
=INDEX(Sheet2!A:Z,AGGREGATE(15,7,ROW(Sheet1!$A$1:$Z$100)/(Sheet1!$A$1:$Z$100=A2),1),AGGREGATE(15,7,COLUMN(Sheet1!$A$1:$Z$100)/(Sheet1!$A$1:$Z$100=A2),1))
这两个 AGGREGATES 将首先返回行号,然后返回与索引匹配的列号,最后返回在 sheet2 中找到的值。
Sheet2 引用应始终从 A1 开始并以最后一列数据结束。Sheet1 引用应仅为数据集的大小。
答案2
对于非唯一值使用以下公式:
B2=INDEX(Sheet2!$A:$Z,AGGREGATE(15,7,ROW(Sheet1!$A$1:$Z$100)/(Sheet1!$A$1:$Z$100=$A2),1), MATCH($A2,OFFSET(Sheet1!$A$1,AGGREGATE(15,7,ROW(Sheet1!$A$1:$Z$100)/(Sheet1!$A$1:$Z$100=$A2),1)-ROW(Sheet1!$A$1),0,1,COLUMNS(Sheet1!$A$1:$Z$100)),0))
此公式查找最小行中第一个匹配项并返回结果。
根据需要将整个公式包装在 IFERROR(formula,"") 中,因为如果未找到 A2,INDEX 将在公式单元格中显示错误。