Как получить данные из сети, используя значения ячеек для сборки URL-адреса для извлечения? Получение данных из сети с помощью ссылок на ячейки

Как получить данные из сети, используя значения ячеек для сборки URL-адреса для извлечения? Получение данных из сети с помощью ссылок на ячейки

Как получить данные из Интернета, используя значения ячеек для формирования URL-адреса, из которого их следует извлечь?

Как получить данные из Интернета, используя значения ячеек для формирования URL-адреса, из которого их следует извлечь?

Как мне использовать ссылки на ячейки для сборки URL, который Excel может использовать для получения данных из Интернета? По сути, я пытаюсь использовать значения ячеек для сборки полного URL со строкой запроса, чтобы вернуть результат запроса в другую ячейку.

У меня есть рабочий лист с URL-адресами API в одном столбце и строками запросов в следующем столбце. Я хочу взять, скажем, ячейку $B$2 (URL) и ячейку $C$2 (строка запроса), чтобы получить результаты URL из =$B$2&$C$2

Большинство результатов будут представлять собой просто числовые значения и не будут нуждаться в интерпретации, в то время как другие результаты будут аналогичны результатам JSON и должны быть перемещены/сожжены в правильную позицию для получения желаемого результата.

Функция «Получить данные из Интернета» в Excel хорошо справляется с этой задачей, если я изначально указываю URL-адрес... но проблема в том, что при попытке использовать эту функцию в Excel она просто собирает URL-адрес из ссылок на ячейки, а не вставляет URL-адрес изначально в форму «Получить данные из Интернета».

Есть идеи? Спасибо.

Редактировать:
Я связался с одним из моих старых преподавателей, преподававших Excel. Он сказал, что не уверен, но предположил, что сценарий VBA может быть вариантом.

решение1

Насколько я понимаю, вам придется создать таблицу запросов для каждой строки, потому что URL-адрес данных для каждой строки будет разным/уникальным. В качестве альтернативы вы можете использовать одну таблицу запросов и перебирать все строки, обновляя URL-адрес соединения таблицы в каждой итерации и извлекая извлеченные данные в соответствующую строку, используя фрагмент VBA, подобный следующему (отказ от ответственности: не проверял это):

' assuming your data starts at row 2
i = 2
Do While Not IsEmpty(Sheet1.Cells(i, 2))
    url = "TEXT;" & Sheet1.Cells(i, 2) & Sheet1.Cells(i, 3)
    With Sheet1.QueryTables
        If .Count < 1 Then
            .Add url, Sheet1.Range("Z1")
        Else
            .Item(1).Connection = url
        .Item(1).Refresh
        ' assuming column D would hold the results
        Sheet1.Cells(i, 4) = Sheet1.Range("Z1")
        ' do any further manipulations of the fetched Sheet1
    End With
    i = i + 1
Loop

Связанный контент