我正在尝试将SQL数据库中的仪表板放在一起,有时候没有检索到数据,这是正常的,但这会破坏单元格引用。
当我使用offset函数将数据放入与滚动条绑定的滚动列表时,我有3个工作表Dash / Data / Calculations: -
在Dash表中我使用 = OFFSET(数据!A2,计算!$ C $ 4,0,1,1)
一切正常,直到查询没有检索到任何行(这有时会正常),此时我得到#REF的负载!错误和数据!引用变了。
我尝试制作参考绝对数据!$ A $ 2但这没有效果。
有关正在发生的事情的任何想法?
我已经设法解决了......这就是我做的事情
好的,不是一个完美的解决方案,但我使用了INDIRECT功能。
将数据检索到A列和A列中。通过SQL查询在表中的B.
然后放下一个网格,以便在C& 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,因为我觉得这已经足够了。
答案 0 :(得分:1)
您是否尝试过使用ISERROR在本地“处理”错误?
这样的事可能有用:
=IF(ISERROR(Data!A2), "", OFFSET(Data!A2,Calculation!$C$4,0,1,1))
这基本上说如果Data!A2返回错误,那么什么都不做,如果没有,那么OFFSET ......
答案 1 :(得分:0)
我已经设法解决了......这就是我做的事情
好的,不是一个完美的解决方案,但我使用了INDIRECT功能。
将数据检索到A列和A列中。通过SQL查询在表中的B.
然后放下一个网格,以便在C& 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 | =间接(C2)| =间接(D2) 这个“间接”从表格中的单元格中获取值,并阻止Excel在我的仪表板工作表上查杀公式,我已经使用C:F列进入第200行,因为我觉得这已经足够了。
现在,Dash表上使用的偏移函数是指静态数据,而公式没有得到#ref'd