当没有从SQL查询中检索行时,Excel更改单元格引用
我试图从一个SQL数据库放在一个仪表板,有时没有数据检索,这是正常的,但这打破了单元格引用。
我有3个工作表破折号/数据/计算,当我使用偏移function将数据放入滚动列表绑定到滚动条:
在Dash表中我使用= OFFSET(Data!A2,Calculation!$ C $ 4,0,1,1)
一切工作正常,直到查询检索没有行(这将是正常的有时),在这一点上,我得到了负载#REF! 错误和数据! 引用被改变。
我试图使参考绝对数据!$ A $ 2,但这没有效果。
任何想法正在发生什么?
我设法弄清楚了…这是我做的
好,所以不是一个完美的解决scheme,但我已经使用了INDIRECTfunction。
通过SQL查询将数据检索到表中的列A和B中。
然后在间接函数中放置一个网格,在C&D中查看,这只是文本。
然后在E1中使用= INDIRECT(C1),在F1中使用= INDIRECT(D1)
| A | B | C | D | E | F _________________________________________________________________________ 1| datar1c1 | datar1c2 | A1 | B1 |=INDIRECT(C1) |=INDIRECT(D1) _________________________________________________________________________ 2! datar2c1 | datar2c2 | A2 | B2 |=INDIRECT(C2) |=INDIRECT(D2)
这个“间接”从表中的单元格获取值,并停止Excel杀死我的仪表板工作表上的公式,我已经下降到行200列C:F,我认为这将是足够的。
您是否尝试过使用ISERROR来“处理”本地错误?
像这样的东西可能会工作:
=IF(ISERROR(Data!A2), "", OFFSET(Data!A2,Calculation!$C$4,0,1,1))
这基本上说,如果Data!A2返回一个错误,那么不要做任何事情,如果没有,然后OFFSET …
我设法弄清楚了…这是我做的
好,所以不是一个完美的解决scheme,但我已经使用了INDIRECTfunction。
通过SQL查询将数据检索到表中的列A和B中。
然后在间接函数中放置一个网格,在C&D中查看,这只是文本。
然后在E1中使用= INDIRECT(C1),在F1中使用= INDIRECT(D1)
| A | B | C | D | E | F
1 | datar1c1 | datar1c2 | A1 | B1 | =间接(C1)| =间接(D1)
2! datar2c1 | datar2c2 | A2 | B2 | = INDIRECT(C2)| = INDIRECT(D2)这个“间接”从表中的单元格获取值,并停止Excel杀死我的仪表板工作表上的公式,我已经下降到行200列C:F因为我认为这样就够了。
现在在Dash表中使用的偏移量函数是指静态数据,公式没有被#ref'd