0

我在Google表格中使用JSON來查找Zip並找到該縣。我只想讓這個縣回來。我可以得到它返回每個值,所以ImportJSON函數正在工作。過濾同名的JSON數據

這是我的公式。我嘗試了所有參考的排列,但我不知道如何格式化它。

=ImportJSON(CONCATENATE("https://maps.googleapis.com/maps/api/geocode/json?address="92660), "results/address_components/long_name[3]", "noHeaders") 

以下是來自Google地圖地理編碼API的JSON數據。我只想要縣名。在這個例子中,它是「橙縣」。

{ 
     "results" : [ 
      { 
      "address_components" : [ 
       { 
        "long_name" : "92660", 
        "short_name" : "92660", 
        "types" : [ "postal_code" ] 
       }, 
       { 
        "long_name" : "Newport Beach", 
        "short_name" : "Newport Beach", 
        "types" : [ "locality", "political" ] 
       }, 
       { 
        "long_name" : "Orange County", 
        "short_name" : "Orange County", 
        "types" : [ "administrative_area_level_2", "political" ] 
       }, 
       { 
        "long_name" : "California", 
        "short_name" : "CA", 
        "types" : [ "administrative_area_level_1", "political" ] 
       }, 
       { 
        "long_name" : "United States", 
        "short_name" : "US", 
        "types" : [ "country", "political" ] 
       } 
      ], 
      "formatted_address" : "Newport Beach, CA 92660, USA", 
      "geometry" : { 
       "bounds" : { 
        "northeast" : { 
         "lat" : 33.671823, 
         "lng" : -117.841337 
        }, 
        "southwest" : { 
         "lat" : 33.6040739, 
         "lng" : -117.909447 
        } 
       }, 
       "location" : { 
        "lat" : 33.6301328, 
        "lng" : -117.8721676 
       }, 
       "location_type" : "APPROXIMATE", 
       "viewport" : { 
        "northeast" : { 
         "lat" : 33.671823, 
         "lng" : -117.841337 
        }, 
        "southwest" : { 
         "lat" : 33.6040739, 
         "lng" : -117.909447 
        } 
       } 
      }, 
      "place_id" : "ChIJRdSajSne3IAR8T4A2x-wgrE", 
      "types" : [ "postal_code" ] 
      } 
     ], 
     "status" : "OK" 
    } 

回答

2

有3個東西,是防止它正確導入:

  1. 特別是在連擊功能,您有address="92660

這應該是address=",92660

,或者您可以消除CONCAT函數一起,並像這樣格式化網址:

"https://maps.googleapis.com/maps/api/geocode/json?address="&"92660"

或技術上指向例如A1的單元格,其值爲92660,例如, "https://maps.googleapis.com/maps/api/geocode/json?address="&A1

  • 丟失的初/results

  • 前爲了得到第三項,而不是使用[3],包裹在公式中的指數函數和參考3

  • 完整的事指數:

    =index(importjson("https://maps.googleapis.com/maps/api/geocode/json?address="&A1,"/results/address_components/long_name","noHeaders"),3)

    enter image description here

    +0

    謝謝。這工作完美。事實證明,谷歌的地址並非全部相同,但這是另一個問題。 – Thomas

    0

    你不給很多細節,而是隻解析JSON,然後做的結果[ 「address_components」]什麼[2] [ 「LONG_NAME」]?

    +0

    當我這樣做,我得到一個「公式解析錯誤。」 '= ImportJSON(CONCATENATE(「https://maps.googleapis.com/maps/api/geocode/json?address=」,C2),「results [」address_components「] [2] [」long_name「]」,「如果我刪除了引號,就會得到一個「Reference not found error」= ImportJSON(CONCATENATE(「https://maps.googleapis.com/maps/api/geocode/json?address=」,C2) ,「results [address_components] [2] [long_name]」,「noHeaders」) – Thomas