有两个表,每个表有 75 个条目。第二个表中的每个条目都将第一个表中的一个条目称为父条目。我的第二个表的其中一列包含“父价格”,引用第一个表中的价格列,例如“=E50”。
Table 1
Id Price
1001 79.25
1002 8.99
1003 24.50
Table 2
Id Price Parent Price
2001 50.00 =B2
2002 2.81 =B3
2003 12.00 =B4
问题是,当我对第一个表进行排序时,第二个表的“父价格”引用均未更新,并且仍然指向 =E50 单元格,而该单元格不再是正确的父级。
如果可能的话,我不想命名单元格。我应该在父价格列中输入什么样式的公式,以便它们正确跟踪引用表中的单元格?
答案1
问题在于,您使用简单的公式仅根据位置引用父级。您需要做的是调整表 2,使其使用指向表 1 中正确值的指针。
A B C D
1 Id Price Parent Parent Price
2 2001 50.00 1001 =VLOOKUP(C1, Sheet1!$A$1:$B$30, 2, FALSE)
3 2002 2.81 1002 =VLOOKUP(C2, Sheet1!$A$1:$B$30, 2, FALSE)
4 2003 12.00 1003 =VLOOKUP(C3, Sheet1!$A$1:$B$30, 2, FALSE)
该VLOOKUP
函数有三个参数。第一个是您要查找的值。第二个是包含数据的范围,这样第一列包含将用于匹配的值。最后一个参数是应返回该范围内的列。例如,第一个公式将转到 Sheet1!$A$1:$B$30(假设表 1 位于 Sheet1 的单元格 A1 到 B30 中)并在第一列中查找值 1001。找到后,它将返回该范围内的第二列。这$
告诉系统使用绝对引用,这样当您在表 2 中复制公式时,该范围不会改变。
这样,无论您如何重新排序表 1,公式都会继续在该范围内寻找特定值。
答案2
我刚刚遇到了这个问题,并做了一些研究。Thomas 的解决方案可行,但更简单的解决方案是使用相对引用。如果引用 $B$2,并且对 B 列进行重新排序,则引用不会改变,但如果您引用 B2(或在本例中为 $B2),则引用将在排序后更新。