使用公式来检测Google表格或Microsoft Excel是否正在运行,并执行相应的公式,最简单的方法是什么?

我使用的一些公式只能在Microsoft Excel中使用,而不能在Google表格中使用,或者在Google表格中使用不同的公式,但不能在Microsoft Excel中使用。

有没有简单的方法来检测Google Sheets或Microsoft Excel是否正在运行,并相应地执行兼容的公式?

我发现很难相信这个问题以前没有问过,但我找不到同一个文件在Excel和Google表格中工作的具体问题。

我不关心脚本,只是公式。

没有正式的方法来确定Microsoft Excel或Google Sheets是否通过公式运行,但是某些版本的Excel =INFO("RELEASE")将返回正在运行的Excel版本,但这在Google表格中不起作用。

感谢@Slai, =ISERR(-"1pm")在Excel中导致TRUE,在Google表格中导致FALSE。 Excel不理解如何将math应用于Google表格所在的时间string值,因此是错误。

使用此逻辑的简单IF语句可以是=IF(ISERR(-"1pm"),"MS-Excel_formula","G-Sheets_formula")

如果你正在使用的公式返回一个数字,一个更简化的版本=IFERROR(GoogleFormula+"0am", ExcelFormula)但是这将不适用于非数字返回的公式,因为它将0添加到不应该改变的结果数字结果。 例如, =IFERROR(1+"0am", 2)在Google表格中返回1,在Excel中返回2。

如果Microsoft决定在未来版本的Excel中将“1am”或“0am”识别为数值时间值,则上述if语句将无法正常工作,Excel将尝试执行Google表格公式。

一个布尔解决scheme是强制一个函数中的错误,你绝对知道在一个或另一个程序中不起作用。 那么@Slai的榜样将不会奏效? 此外,Excel不会尝试执行仅Googlefunction,如ArrayFormula或Importrange&c。 FWIW小的差异就是那些能够吸引我的人 – 例如,“DSUM”让我感到沮丧,因为Google Sheets在某些情况下对Excel实施的响应稍有不同。 会有其他的我确定,但我还没有find一个确定的清单或sorting线程这些。 (PS。我没有扩展我对DSUM特质的描述,因为我怀疑它离题目太远了)。