如何解决错误#value!在Excel中,通过使用在XML中使用Google Map API距离矩阵的网络服务公式?

时间:2019-02-22 09:08:57

标签: excel xml vba excel-2013 google-distancematrix-api

自从我们购买了Google Map API Distance Matrix Advanced之后,我们尝试在Excel 2013中使用XML形式的Web服务公式,这将使我们能够发出多个请求,以检索不同起点到不同目的地之间的行驶里程值,并且另外,相关的驾驶时间。

例如,以下是直接在excel单元格中使用的公式:

=SERVICEWEB("https://maps.googleapis.com/maps/api/distancematrix/xml?origins=46.25361111,5.21666667&destinations=46.2125,5.32444444&mode=driving&key=my_key")

然后,由于该单元格应该检索XML格式,因此我在另一个单元格中使用另一个公式来检查并检索所需的值:

=SIERREUR(FILTRE.XML(G2;"/DistanceMatrixResponse/row/element/distance/text");"0")

尽管如此,当我输入第一个公式时,它似乎返回值错误:#VALEUR!

但是,如果我在IE或Chrome页面中键入网址,则可以正常运行,我会得到相关的响应:

<DistanceMatrixResponse>
  <status>OK</status>
  <origin_address>
    47 Rue des Anciens Combattants, 01440 Viriat, France
  </origin_address>
  <destination_address>175 Rue Charles Robin, 01250 Jasseron, France
  </destination_address>
  <row>
    <element>
      <status>OK</status>
      <duration>
        <value>773</value>
        <text>13 minutes</text>
      </duration>
      <distance>
        <value>11478</value>
        <text>11,5 km</text>
      </distance>
    </element>
  </row>
</DistanceMatrixResponse>

因此,看着它,它应该可以在EXCEL中正常工作,而不是#VALUE!的错误! 而且我在公式中也看不到任何错误。

所以,我不明白为什么Excel会生成错误而一切似乎正确的原因。 然后,您可以通过更改公式或通过某些VBA代码来帮助我们解决此问题吗?

0 个答案:

没有答案