1

我正在尝试从 SQL 数据库中组合仪表板,有时没有检索到数据,这很正常,但这会破坏单元格引用。

我有 3 个工作表 Dash / Data / Calculations,当我使用 offset 函数将数据放入绑定到滚动条的滚动列表中时:-

在仪表板中,我使用 =OFFSET(Data!A2,Calculation!$C$4,0,1,1)

一切正常,直到查询没有检索到任何行(这有时是正常的),此时我得到了 #REF 的负载!错误和数据!参考变了。

我尝试将引用设为绝对 Data!$A$2 但这没有效果。

关于发生了什么的任何想法?


我已经设法弄清楚了……这就是我所做的

好的,所以不是一个完美的解决方案,但我使用了 INDIRECT 功能。

通过 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,因为我认为这就足够了。

4

2 回答 2

1

您是否尝试过使用 ISERROR 在本地“处理”错误?

像这样的东西可能会起作用:

=IF(ISERROR(Data!A2), "", OFFSET(Data!A2,Calculation!$C$4,0,1,1))

这基本上是说如果 Data!A2 返回错误,则不做任何事情,如果没有,则 OFFSET ...

于 2013-11-04T14:37:22.743 回答
0

我已经设法弄清楚了……这就是我所做的

好的,所以不是一个完美的解决方案,但我使用了 INDIRECT 功能。

通过 SQL 查询将数据检索到表中的 A 和 B 列中。

然后在C&D中放置一个网格供间接函数查看,这只是文本。

然后在 E1 中使用 =INDIRECT(C1) 并在 F1 中使用 =INDIRECT(D1)

| 一个 | 乙| C | D | E | F


1| 数据r1c1 | 数据r1c2 | A1 | B1 |=间接(C1)|=间接(D1)


2!数据r2c1 | 数据r2c2 | A2 | B2 |=INDIRECT(C2) |=INDIRECT(D2) 这个“间接”从表中的单元格中获取值并阻止 Excel 杀死我的仪表板工作表上的公式,我已经下到第 200 行,列 C:F因为我认为这就足够了。

现在 Dash 表上使用的偏移函数是指静态数据,公式没有得到#ref'd

于 2013-11-08T17:01:21.257 回答