【问题标题】:excel formula not updating after sas exportsas导出后excel公式不更新
【发布时间】:2014-01-05 16:31:56
【问题描述】:

我正在运行一个 SAS 程序来更新 Excel 工作簿中的两个工作表。该工作簿包含第三个工作表,它只是指向 SAS 导出工作表中的单元格的公式。每当我用新值重新运行程序时,表 3 上的公式都不会更新它们的值。

示例如下: sheet1 a1 = 2, sheet2 a1 = 3, sheet3 a1 = sheet1!$a$1+sheet2!$a$1(显示 5) 我重新运行 SAS 导出,将前两个值更改为 3 和 4,但 sheet3 仍显示 5 而不是 7。

当我单击 sheet3 单元格并计算公式时,前两个值显示为正确的 3 和 4。3+4 的第三次计算仍显示为 5。如果我将公式复制/粘贴到不同的单元格中,则会完成正确的计算并显示 7。如果我将公式剪切/粘贴到另一个单元格,则会显示不正确的值,但如果我从那里复制/粘贴回原始单元格,则会显示正确的值。

我有 Excel 2013,设置了自动计算,并且 SAS 9.3 都在 Windows 7 和所有 64 位上运行。

【问题讨论】:

  • 我建议尝试将计算表与 SAS 生成的数据分开到不同的工作簿中。在这种情况下,跨工作簿更新可能优于在工作簿内更新。
  • 我们走了一条不同的路线,但这个解决方案确实有效。当我重新打开公式工作簿时,系统会询问我是否要更新链接,并在我选择“更新”后正确计算新值。
  • 仅供参考,新的ods excel(在下个月左右可用,更新版本为 9.4)可能会使这种方法变得必要;这意味着您可以将公式本身导出到真正的 Excel 文件中,因此您不必拥有包含公式的模板工作簿。

标签: excel-formula sas excel-2013


【解决方案1】:

使用 ODS,您可以创建 Excel 公式:

ODS TAGSETS.EXCELXP
file="c:\temp\shoes.xml"
STYLE=minimal
OPTIONS ( Orientation = 'landscape'
FitToPage = 'yes'
Pages_FitWidth = '1'
Pages_FitHeight = '100' );

proc print noobs data=sashelp.shoes;
run;

ods tagsets.excelxp close;

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-10-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-05-01
    相关资源
    最近更新 更多