我在 Excel 中有一个单元格,我想从另一个单元格中提取数据,该数据被定义为第三个单元格中的值。
例如:
A1= 5
A2= 10
A3=在此处插入语法,使用 A4 作为单元格引用的来源
A4=用户输入选择
当 A4 设置为“A1”时,A3 应该返回5
。当 A4 设置为“A2”时,A3 应该返回10
。
以上内容实际上有点过于简单。我真的要做的就是使用一个单元格来定义从哪个工作表中提取数据,然后在另一个单元格中执行计算。
设想:
工作簿包含多张布局相同的工作表(、、Sheet1
等),其中的值代表的信息与中的值代表的信息相同。我想创建另一张名为的工作表,以便于比较两个选定工作表之间的数据。此工作表的布局也与其他工作表相同,但此处的值应为目标工作表中相似值之间差异的计算结果。此工作表还具有两个特殊单元格,配置了数据验证和单元格下拉列表,以允许按名称选择另外两个工作表进行比较。Sheet2
Sheet3
'Sheet1'!A2
'Sheet2'!A2
Comparison
假设选择单元格位于 A5 和 A6。
鉴于:
A5= Sheet5
A6=Sheet3
然后 中的公式'Comparison!'A2
应该得到与 相同的结果'Sheet5'!A2-'Sheet3'!A2
。如果我将 A6 更改为“Sheet7”,那么公式应该调整为'Sheet5'!A2-'Sheet7'A2
。
这种动态单元格引用在 Excel 中是否容易实现(无需大量IF
语句)?
答案1
您的问题的第一部分可以通过使用间接函数。如果单元格 A3 包含此公式=INDIRECT(A4)
,则它将返回 A4 中指定的单元格的值。
您可以在单元格 A7 中组合这样的公式=A5&"!A1"
,然后使用 INDIRECT 语句引用 A7。这样,您只能更改 A5 中的工作表名称,但它会更新您所在的单元格中的整个公式引用。