Как определить, когда все операции загрузки данных завершены?

У меня есть электронная таблица Sheets, в которой много ячеек, в которых используется настраиваемая функция, которая вызывает IMPORTHTML и анализирует результаты. В других вычислениях на листе используются значения, возвращенные из этих ячеек настраиваемых формул. Как и ожидалось, при вычислении ячеек настраиваемых формул отображается сообщение об ошибке «Загрузка данных ...». Я не могу доверять результатам зависимых вычислений, пока не завершатся операции загрузки данных. Есть ли какой-нибудь хороший способ узнать, когда все операции загрузки данных в диапазоне завершены?

Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
4
0
1 282
4

Ответы 4

Допустим, ошибки «Загрузка данных» можно найти на Листе 1, который состоит из столбцов A – Z и строк 1–1000. В Sheet2! A1 вы можете поместить =IF(COUNTIF(Sheet1!A:Z,"#Loading Data..."),"Loading","Done"). (Замените Z в A: Z последним столбцом.) Если какие-либо ячейки в Sheet1 возвращают «#Loading Data ...», тогда counttif посчитает их и вернет «Loading»; иначе он вернет «Готово».

(Примечание: сообщение об ошибке именно то, что я использовал? Я не могу проверить это в данный момент и не уверен, что это именно результат)

Спасибо за помощь, но у меня это не работает. Появляется сообщение об ошибке «Загрузка данных ...», но в ячейке отображается «Загрузка ...». Я пробовал оба, но ни один из них не возвращает истину независимо от состояния. Поскольку мои данные числовые, я использовал функцию countif <> 0 и сравнил ее с количеством ячеек в диапазоне.

Lee Greco 29.10.2018 14:21

попробуйте IF(IsError(a:Z),"Not Ready Yet","Ready")

Это сработало для меня:

=COUNTIF(B1:B565,"<>*")

для подсчета количества ячеек, демонстрирующих "Loading...", при использовании функции таблицы Google =IMPORTXML(). Например, в одной конкретной ситуации у меня было 565 ссылок в первом столбце и формула =IMPORTXML(A1,"//h2[@class='margin-bottom-50']") в столбце 2, и я поместил формулу выше в D1. Я дважды проверил, перетащив = countif (B1, "<> *") вниз в столбец 3, чтобы визуально проверить, а затем с помощью = SUM () сложил все единицы в этом столбце.

Я была такая же проблема.

cell1: url

cell2: использует URL-адрес в importdata

cell3: использует cell2 в importdata

Я знаю, что это множество связанных результатов.

Поэтому я протестировал все варианты, которые смог найти.

Судите сами. В анимации я изменяю URL-адрес, чтобы он вызывал новый запрос, и вы могли видеть, как влияют на различные средства проверки при извлечении данных.

Вот запросы для вашего удобства.

=IFNA(E27,"Waiting for data")
=IFERROR(E27,"Waiting for data")
=If(ISERROR(E27),"Waiting for data",E27)
=IF(E27<>"",E27,"Waiting for data")
=COUNTIF(E27,"<>*")

Если у вас их много, возможно, вы захотите избежать перерасчетов (множество HTTP-запросов параллельно). Для этого загляните в https://stackoverflow.com/a/60871673/4752223

Другие вопросы по теме