我有一个可行的公式,但是太长,而且一遍又一遍重复核心数据。
我的电子表格包含 70 页描述卡片集的内容。我正在处理的页面使用卡片标识符(在 A3 中)作为索引,为我提供了特定的摘要。更具体地说,我想要该标识符下可能出现在任何集合中的卡片的最低价格。所有集合的卡片都少于 500 张(因此搜索范围是 B3:I500)
尽管我在这里做了简化,但名称并不遵循模式,而是列在 G2:Z2 行中(目前显然不完整)
=MIN(
IFERROR(VLOOKUP($A3,Set1!$B$3:$I$500,6,FALSE),99999),
IFERROR(VLOOKUP($A3,Set2!$B$3:$I$500,6,FALSE),99999),
IFERROR(VLOOKUP($A3,Set3!$B$3:$I$500,6,FALSE),99999), ...
[ 其他组的模式重复...]
我在电子表格的另一部分使用了 INDIRECT,并在其他地方再次使用了数组符号。
VLOOKUP($A3,INDIRECT("'"&M$2&"'!$B$3:$I$516"),6,FALSE)
我不希望合并页面(我承认这在某些方面会使事情大大简化)。
有没有办法将这个大表达式简化为一个较短的表达式以达到相同的目标(并且希望在我添加其余数据时避免进一步编辑)?
我尝试使用间接、vlookup 和数组来操作某些东西,但总是出现#VALUE 错误,可能是由于语法混乱造成的。
我并不是在寻找 VBA 解决方案,也不是在寻找直接的“将其转换为数据库”答案,但任何帮助都会受到赞赏。
答案1
回答标题中的问题:遗憾的是,您不能将 3D 参考与 VLOOKUP 一起使用,无论是作为源参考还是作为查找值。更多信息请见此处:http://office.microsoft.com/en-us/excel-help/create-a-3-d-reference-to-the-same-cell-range-on-multiple-worksheets-HP010102346.aspx
您的公式似乎足够简单,尽管它很长。不过,如果您的工作簿变得更大,我建议使用INDEX/MATCH
而不是 ,VLOOKUP
以便更快地进行计算。
答案2
您可以将查找放在工作Set#
表中。
如果您的公式位于名为的工作表上Summary
:在每个工作表的
单元格中放置一个公式I1
Set
=IFERROR(VLOOKUP(Summary!A3,$B$3:$I$500,6,FALSE),99999)
然后在Summary
床单上放
=MIN('Set1:Set70'!I1:I1)
假设Set
工作表已分组在一起(即它们之间没有其他工作表)