Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/three.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Excel formula sas导出后excel公式未更新_Excel Formula_Sas_Excel 2013 - Fatal编程技术网

Excel formula sas导出后excel公式未更新

Excel formula sas导出后excel公式未更新,excel-formula,sas,excel-2013,Excel Formula,Sas,Excel 2013,我正在运行一个SAS程序来更新Excel工作簿中的两张工作表。工作簿包含第三个工作表,它只是指向SAS导出工作表中单元格的公式。每当我用新值重新运行程序时,表3上的公式不会更新它们的值 例如:sheet1 a1=2,sheet2 a1=3,sheet3 a1=sheet1$一张1美元以上的床单2张$a$1(图5) 我重新运行SAS导出,将前两个值更改为3和4,但sheet3仍然显示5而不是7 当我单击sheet3单元格并计算公式时,前两个值显示为正确的3和4。3+4的第三次评估仍然显示为5。如果

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

例如:sheet1 a1=2,sheet2 a1=3,sheet3 a1=sheet1$一张1美元以上的床单2张$a$1(图5) 我重新运行SAS导出,将前两个值更改为3和4,但sheet3仍然显示5而不是7

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


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

使用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;

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