Я пользуюсь таблицей Google и импортирую XML, чтобы получить информацию о ценах на жилье от Zillow. Ячейка имеет следующую формулу:
=VALUE(IMPORTXML(FirstQuotedTextStringInFormula("F4"),"//div[contains(@class, 'zestimate primary-quote')]/div/text()[3]"))
Вы видите, что FirstQuotedStringInFormula позволяет мне сохранять URL-адрес в другой ячейке.
Я использую скрипт приложения, чтобы захватить эти данные для отслеживания истории по цене.
function recordHistory() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheetByName("History");
var source = sheet.getRange("B2:AC2");
var values = source.getValues();
sheet.insertRowBefore(3);
sheet.getRange(3, 2, 1, 28).setValues([values[0]]);
};
Это прекрасно работает для всех значений, которые я извлекаю. Не работают только те, которые извлекают значения из ячеек с ИМПОРТОМ XML формула Когда я пытаюсь вставить эти данные в лист истории, ссылка на него "= Assets! B6" работает нормально. Значение отображается как ожидалось. Но когда я запускаю скрипт выше, значение отображается в следующей строке как "#VALUE!" Просто это отображается в ячейке как стандартный текст. Любая идея, где это ломается?
РЕДАКТИРОВАТЬ: я пытался повторить проблему в образце электронной таблицы, и я не могу получить всплывающую проблему, используя общую ссылку c (чтобы избежать использования личных данных) .
На листе я установил Sheet2! B2 со следующим:
=VALUE(IMPORTXML("https://homedepot.com/p/206651614", "//span[@id='ajaxPrice']/@content"))
Это работает нормально. Если вы посмотрите на вкладку «История», я могу использовать новое меню («Управление») для моментального снимка значений, а значения в строке 2 помещаются в строку 3. Это работает нормально. Если я заменим вышеупомянутое на:
=VALUE(IMPORTXML(FirstQuotedTextStringInFormula("F4"),"//div[contains(@class, 'zestimate primary-quote')]/div/text()[3]"))
Тогда, когда я go сделаю снимок значения на вкладке истории, он поставит #VALUE! в клетке вместо. Я также попытался заменить свой «FirstQuotedTextStringInFormula (« F4 ») фактическим URL-адресом, и он все еще делает то же самое. Что отличается между этими двумя, которые могут вызывать эту проблему?