如何确保以 CSV 格式发布的 GoogleSheet 上的附加公式的正确值

How to ensure correct value from add-on formula on a GoogleSheet published as CSV

通过创建一个使用来自附加组件 (muFund) 的公式的 GoogleSheet, 如果我在网络上发布 CSV 并将其作为源导入到我的 power bi 报告中, 通常(只有几次它工作正常)使用 muFund 函数计算的整个列显示标签 #NAME? 而不是正确的值。

如何确保通过“附加公式”计算的值将输出连贯的 CSV?

google sheet 就是这个:

如您所见,公式为 =muFunds("nav";A2)

发布的文件 (csv) 如下: https://docs.google.com/spreadsheets/d/e/2PACX-1vS4stYNCZIWp-ScKmCMlR1PHWsxRbsWjykKUhBBpeBcVz9tcDvFewCkgTvUh3QuRTJiRU_w17_H_cma/pub?gid=0&single=true&output=csv

可能通过下载上面的文件,一切都会顺利...但有时可能会发生 muFunds 的计算值将是 #NAME?... 这很奇怪.我还发现这个问题没有回答: Download CSV GoogleSheet with GoogleFinance connection

但是通过将此 csv 文件与 PowerBI 报告一起使用,该问题在 10 次试验中发生了 9 次。所以我在 Power Query 中为我的报告编写了以下查询

let
    Source = Csv.Document(Web.Contents("https://docs.google.com/spreadsheets/d/e/2PACX-1vS4stYNCZIWp-ScKmCMlR1PHWsxRbsWjykKUhBBpeBcVz9tcDvFewCkgTvUh3QuRTJiRU_w17_H_cma/pub?gid=0&single=true&output=csv"),[Delimiter=",", Columns=3, Encoding=1252, QuoteStyle=QuoteStyle.None]),
    #"I" = Table.PromoteHeaders(Source, [PromoteAllScalars=true])
in
    #"I"

问题来了:

有什么建议吗?

这个问题似乎与 google 发布有关,它可能比公式计算更快,因此该值计算不正确。

出于这个原因,我制作了一个小脚本,以便将所有值 (Funds) 复制到另一个 sheet (FundsValue) 中,这样它们就可以在 csv 中发布而无需任何问题。

在下面制作的脚本:

function daily_copy() {
  var source = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Funds");
  var destination = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("FundsValue");

  var sheet = SpreadsheetApp.getActiveSheet();
  
  var rangeToCopy = source.getRange(1, 1, destination.getMaxRows(), 3);

//Paste to another sheet from first cell onwards
rangeToCopy.copyTo(destination.getRange(1, 1),{contentsOnly:true});

}

在此所有值都得到了正确处理,因此我还添加了一个每天自动执行脚本的触发器