下表与查询相连。当我刷新下表时,最后两列的数据 S 和 T 消失了。这两列中的所有单元格都包含一个 vlookup。如何让 vlookup 在刷新后继续工作?
桌子:
我原本以为,由于我添加的最后两列不是原始查询的一部分,所以每次刷新时,它都会删除所有内容,但我注意到 S 列丢失了它的 vlookup,而 T 列保留了它:
刷新前 S 列
刷新后第 S 列 Vlookup:
刷新后 T 列 Vlookup:
答案1
事实上您确实“丢失”了 S 列。
没错,我敢肯定,这不是原始查询的一部分,但现在很明显,查询确实会在刷新查询时生成一列数据,该列数据会覆盖当前内容。
VLOOKUP
因此,S 列中显然有空白单元格,覆盖了刷新之前预先存在的公式。
现在,我是不是只是断言好像我没有读过你的问题,或者这是真的?
请注意,在第一张图片中,刷新前,S 列的标题为“目标”或可能更长。一切都很好,并且它在下面的单元格中具有所需的公式。但是,刷新后,后两张图片,请注意 S 列现在有一个“Column16”标题...查询在其中为第 16 列赋予了一个通用名称。显然,当某人做了一些导致查询添加第 16 列的事情时,那个人并没有命名该列。
最后一点表明,有人为了满足某些特殊需求而修改了查询,而且很可能对保留更改不感兴趣,但是……把那部分搞砸了。
因此,现在您将有 16 列结果写入表格,该结果将覆盖 S 列(包括其标题)。单元格内容(空白、值,无论放在那里什么)无法在 T 列中成功,VLOOKUP
这并不奇怪,因此会出错。
您需要检查查询并找出导致其出现第 16 列的原因。由于上面的代码中放置的数据似乎并不突兀,因此很可能是放置在所有其他列右侧的一列。然后您有几个基本选项。
在查询中将其删除。这似乎就是您想要做的,因为该列似乎给出空白而不是一些理想的输出。
或者发现您希望保留它并插入一个新列(新的 T 列,当前 T 列变为 U 列)。将您的“S 列”放在VLOOKUP
新的 T 列中并继续。
与后者相关的是,您可以快速修复后一步,但隐藏第 16 列,这样一切看起来都像以前一样。在调查背景问题时,作为临时修复以减轻日常工作量很有用。
我想到的一个想法是,可能有人打算在查询内部完成列 S 公式的功能,这样输出数据就已经完成了。只是没有取得很大进展,或者没有试验看看他们是否可以做到。这也可能不是一个坏主意。它可能需要比“嗯……Power Query……有趣……”级别的技能更多一点,但看起来很容易做到。如果技能水平稍高一点,对列 T 执行相同操作,这样就不需要公式了,虽然可能比列 S 想象的要难得多。但边做边学是一件有用的事情,可能会吸引你。
不过回顾一下,第 16 列肯定会覆盖预刷新的 S 列,修复该错误将解决 T 列错误。