在excel中,我想创建一个快速查找表。我有各种工作表,由公司命名,每张纸上有12个月的数据,横向数月。我希望用户能够在A1中输入与工作表名称(公司名称)对应的值。在单元格A2中,它们将进入一个月。该公式将找到该工作表,查找月份并在其下方的单元格中返回一个值。接近这个公式的最佳方法是什么?
答案 0 :(得分:0)
您可以使用以下公式:
=HLOOKUP(A2,INDIRECT("["&A1&"]Sheet1!$B$2:$C$3"),2,FALSE)
让我分解一下。
= HLOOKUP(...是一个函数,它将根据单元格A1和A2中的用户输入找到您要查找的值。这是 H orizontal LOOKUP 强>
A2 ...是用户输入的月份,也是HLOOKUP公式将在指定公司工作表上搜索的月份。
INDIRECT(“[”& A1&“] ...是一个允许公式根据在单元格A1中输入的公司工作簿动态更改的函数。
Sheet1!$ B $ 2:$ C $ 3“)...需要根据公司工作表的名称进行调整。例如,许多人将您的工作表命名为2014年,因此您将更改”Sheet1“对于'2014'。此外,范围$ B $ 2:$ C $ 3在您的示例中很可能会有所不同。确保调整此范围,以便范围中的左上角最左边的单元格是第一个月和最右下角cell是您希望返回的最后一个月的数据值。
,2 ...是您要返回的公司工作表行(基于您在上一步中给出的范围)。
,FALSE)...告诉HLOOKUP函数寻找完全匹配。
提示 - 确保在单元格A1和A2中输入的值与它们在工作簿名称和月份字段中显示的值完全相同。请务必包含工作簿扩展名.xlsx等
答案 1 :(得分:0)
以下是您要找的内容我将为您提供公司文件的示例,并继续使用
第一个公司名称是comp1
第二个公司名称为comp2
主文件如下所示
公式是
=HLOOKUP(B2,INDIRECT(CONCATENATE("[",A2,".xlsx]sheet1!$A$1:$L$2")),2,FALSE)