动态引用 Excel 工作表
我有一个应该很简单的问题,但我没有解决它。我为一家商店打印了价目表,今年他们将零件编号分成了 5 张工作表,而不是一张。
当用户想要打印价格标签时,她在 C10 中输入=,单击工作表“价格表”并导航到她需要的零件号。
C10 的结果公式为:=Pricelist!B40
E10 必须包含有关零件编号的更多信息,因此 E10 公式为:=VLOOKUP(C10,Pricelist!B:N,2,FALSE)
但是,现在有了新工作表,她可能会选择工作表“New_Items”,在这种情况下,C10 的结果公式为: =New_Items!B40
如何编写 E10 的公式,使其引用与 C10 相同的工作表。
我需要 E10 =VLOOKUP(C10,Pricelist!B:N,2,FALSE)
自动变为 *=VLOOKUP(C10,New_Items! B:N,2,FALSE)*
这有道理吗?是否可以让 Excel 根据另一个单元格的引用修改工作表引用?
蒂亚!
I have a problem that should be so simple, but I'm not getting my head around it. I do printed pricelists for a store and this year they've split up the part numbers into 5 worksheets instead of one.
When a user wants to print out a pricetag, she enters the = into C10, clicks the Worksheet "Pricelist" and navigates to the part number she needs.
The resulting formula for C10 is: =Pricelist!B40
E10 must contain more info about the part number so E10 formula is: =VLOOKUP(C10,Pricelist!B:N,2,FALSE)
However, now with the new worksheets she might select Worksheet "New_Items" in which case the resulting formula for C10 is: =New_Items!B40
How can I write the formula for E10 so that it references the same worksheet that C10 does.
I need E10 =VLOOKUP(C10,Pricelist!B:N,2,FALSE)
to automatically become *=VLOOKUP(C10,New_Items!B:N,2,FALSE)*
That make sense? Is that doable to have Excel modify a worksheet reference based on another cell's reference?
TIA!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
是的,您可以使用 INDIRECT() 来完成此操作,这可能需要一些工作,因为您需要以某种方式计算出工作表的名称。
Yes you can do this using INDIRECT() It might take a bit of work since you need to work out the name of the sheet somehow.
可以用vba吗?
如果是这样,请尝试这个简单的 udf
Cell E10
=MyLookup(C10, 1)
Can you use vba?
If so, try this simple udf
Cell E10
=MyLookup(C10, 1)
您可以创建 VBA UDF
并使用 Eddy 提供的间接公式。
此 UDF 将允许您在 VLOOKUP INDIRECT 函数中动态跟踪工作表名称更改。
You could create the VBA UDF
and use this is the formula with the indirect provided by Eddy.
This UDF will let you dynamically track sheet name changes within the VLOOKUP INDIRECT function.