[英]Getting the error note of a formula with #NA in google sheets for a script
正如Tanaike 提到的,錯誤消息可以通過電子表格 API 在 Sheets API 中檢索。 此信息可以作為ExtendedValue 的一部分找到,它對應於單元格數據的屬性effectiveValue
。
一個響應示例可能如下所示:
{
"sheets": [
{
"data": [
{
"rowData": [
{
"values": [
{
"effectiveValue": {
"errorValue": {
"type": "DIVIDE_BY_ZERO",
"message": "Function DIVIDE parameter 2 cannot be zero."
}
}
}
]
}
]
}
]
}
]
}
然后,您可以使用Advanced Sheet Service通過 Apps Script 訪問此 API。 例如,如果您想檢索單元格A1
的錯誤消息,您可以執行以下操作:
function getErrorMessage(cellNotation = "A1") {
const optionalArgs = {
fields: "sheets(data(rowData(values(effectiveValue))))",
ranges: cellNotation
}
const spreadsheetId = SpreadsheetApp.getActive().getId();
const response = Sheets.Spreadsheets.get(spreadsheetId, optionalArgs);
const errorMessage = response.sheets[0].data[0].rowData[0].values[0].effectiveValue.errorValue.message;
return errorMessage;
}
不幸的是,這不能用作自定義函數,因為它需要用戶授權(請參閱使用 Apps 腳本服務)。
據我所知,沒有內置函數,沒有 Apps 腳本工具,也沒有可以檢索此信息的API 方法。
如果您認為擁有此功能會非常有用,您可以考慮在Google Issue Tracker 中創建一個功能請求。
作為一種解決方法,您可以為您正在使用的每個內置函數創建一個自定義函數,並使用try...catch來檢索您獲得的任何異常。
我希望這有任何幫助。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.