![Excel 数据验证公式](https://linux22.com/image/1330787/Excel%20%E6%95%B0%E6%8D%AE%E9%AA%8C%E8%AF%81%E5%85%AC%E5%BC%8F.png)
我有一张带有输入列的表格,并设置了两个带有允许输入值的表格。正确的表格取决于每行末尾单元格中的值。为了确定哪个表格是允许的,我设置了一个数据验证公式(如=if cellatendof row>0, table1, table2
)。我尝试将数据验证向下拖动,但它不会在必须检查的单元格上使用相对引用。因此,我手动进入列中的每个单元格并更新数据验证公式以检查该特定行的单元格(如=if cellatendofrow1>0... then next =if cellatendofrow2>0
...)。
这可以工作,但不允许任何人添加或删除行 - 甚至对数据进行排序 - 除非关闭数据验证公式。它不是指向单元格的新位置,而是指向硬编码的原始行。因此,如果添加了一行,现在第 1 行已移动到第 2 行,但公式仍然查看,cellatendofrow1
因为它是以这种方式硬编码的,其余所有行也是如此,结果可能无效。
有没有办法让引用成为相对的而不是静态的并与行的其余部分一起移动?
抱歉,我不懂 VB - 但如果能修复它我可以尝试一下!
答案1
如果表标志是说ColumnC
(总是!)那么如下所示的公式似乎有效(使用命名范围):