Excel formula DQL在查询返回0个结果并防止#REF时返回结果

Excel formula DQL在查询返回0个结果并防止#REF时返回结果,excel-formula,dql,alm,Excel Formula,Dql,Alm,我有一个查询外部数据查询(HP ALM业务视图)的公式 我使用的公式是 =IFERROR(VLOOKUP($B5,bvtbl_678a2f62_71fd_4e3e_bc63_7f1a176fae2d,2,FALSE),0) 我无法更改可怕的长表名,因为它不会在Excel中的工具中刷新表。无论如何,当表没有返回结果时(这种情况经常发生),表名将被删除并替换为#REF!。。由于报告的复杂性,我无法真正引用特定单元格。我真的不希望报告的用户在每次数据表为空时都要自己更新这些数据 我的另一个选择

我有一个查询外部数据查询(HP ALM业务视图)的公式

我使用的公式是

   =IFERROR(VLOOKUP($B5,bvtbl_678a2f62_71fd_4e3e_bc63_7f1a176fae2d,2,FALSE),0)
我无法更改可怕的长表名,因为它不会在Excel中的工具中刷新表。无论如何,当表没有返回结果时(这种情况经常发生),表名将被删除并替换为#REF!。。由于报告的复杂性,我无法真正引用特定单元格。我真的不希望报告的用户在每次数据表为空时都要自己更新这些数据

我的另一个选择是编写DQL查询,以便在没有结果返回时

Select Defects.severity,
Sum(DECODE(Defects.status, 'Assigned', 1)) As Assigned,
Sum(DECODE(Defects.status, 'Awaiting Release', 1)) As "Awaiting Release",
Sum(DECODE(Defects.status, 'Being Resolved', 1)) As "Being Resolved",
Sum(DECODE(Defects.status, 'Blocked', 1)) As Blocked,
Sum(DECODE(Defects.status, 'Closed', 1)) As Closed,
Sum(DECODE(Defects.status, 'Deferred', 1)) As "Deferred",
Sum(DECODE(Defects.status, 'Failed Retest', 1)) As "Failed Retest",
Sum(DECODE(Defects.status, 'Fixed', 1)) As Fixed,
Sum(DECODE(Defects.status, 'Investigation', 1)) As Investigation,
Sum(DECODE(Defects.status, 'New', 1)) As New,
Sum(DECODE(Defects.status, 'Open', 1)) As "Open",
Sum(DECODE(Defects.status, 'Retest', 1)) As Retest
From Defects
Where Defects.user_template_06 = '07 - User Acceptance Testing (UAT)' 
And Defects.project = 'xxx'
Group By Defects.severity
Order By Defects.severity 
然后返回一个值。。。请注意,这是DQL,这只是一个巨大的痛苦