[英]Sheets API v4 is returning #N/A for specific formulas
使用 vlookup 公式時,Sheets API v4 返回 #N/A。 這個特定的錯誤發生在 vlookup 公式中,但我在包含大量公式的電子表格上看到了同樣的問題。 似乎 API 在返回值之前不會等待電子表格計算公式。
python中的一個小代碼示例:
service.spreadsheets().values().get(
spreadsheetId='1s-fePyrjzp8_jAWy-p1smystgJXxMirmjXGJjQM91qg',
range="FxRates salaries filter!A1:D5",
valueRenderOption="UNFORMATTED_VALUE",
dateTimeRenderOption="SERIAL_NUMBER"
).execute()
步驟會不會重現這個問題?
預期輸出:預期輸出是一個數字,但 API 返回“#N/A(在 VLOOKUP 評估中未找到值 '43531'。)”。 電子表格本身正確計算公式,但 API 返回 #N/A
您可以通過執行以下鏈接輕松地在 API Explorer 上重現該問題: Google Sheets API Explorer
當我檢查FxRates salaries filter!A1:D5
的公式時,檢索到以下值。
{
"range": "'FxRates salaries filter'!A1:D5",
"majorDimension": "ROWS",
"values": [
[
"Date",
"EUR",
"USD",
"BRL"
],
[
"=TODAY()-1",
1,
"=vlookup(A2,EURUSD_D!$A:$C,3,0)",
"=vlookup(A2,EURBRL_D!$A:$C,3,0)"
]
]
}
當我檢查EURUSD_D!$A:$C
的公式時,檢索到以下值。 GOOGLEFINANCE()
檢索到的值正在使用。 EURBRL_D!$A:$C
的值也是相同的結果。
{
"range": "EURUSD_D!A1:C2258",
"majorDimension": "ROWS",
"values": [
[
"Date ONLY",
"=GOOGLEFINANCE(\"CURRENCY:EURUSD\",\"price\",date(2014,1,2),today())"
],
[
"=ARRAYFORMULA(IF(B2:B=\"\",\"\",DATE(YEAR(B2:B),MONTH(B2:B),DAY(B2:B))))"
]
]
}
從以上結果來看,您的問題的原因是“ 歷史GOOGLEFINANCE數據無法在Google表格之外訪問”。
歷史 GOOGLEFINANCE 數據無法在 Google 表格之外訪問
2016 年 9 月 27 日
我們想讓您知道 GOOGLEFINANCE 函數的一個小變化,它可以輕松地將當前或歷史證券信息直接提取到您在 Google 表格中的電子表格中。 從今天開始,將無法使用 Apps 腳本或 API 在表格之外下載或訪問歷史數據。 如果您有一個包含從 GOOGLEFINANCE 函數生成的歷史數據的電子表格,並且您嘗試通過 Apps 腳本或 API 下載或訪問它,則相應的單元格將顯示“#N/A”。 您仍然可以從表格應用程序中查看歷史數據,並且仍然可以通過 Apps 腳本或 API 下載當前數據和訪問當前數據。 以后使用 GOOGLEFINANCE 功能時請牢記這一點。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.