プロが教える店舗&オフィスのセキュリティ対策術

下記の関数を使用していますが、距離のセルには 0 が表示され、統計がとれません。
解決策をご教授願います!

=IF(COUNT(DGMAP(E2,H2,TRUE)),DGMAP(E2,H2,TRUE),0)

E2ならびにH2は、住所が反映されるようになっています。

別のシートには、施設の名前や住所が記載された基本情報一覧があります。

「職場から目的地までの距離集計」の質問画像

A 回答 (3件)

こんにちは



情報が少なすぎるので、ほとんどエスパー的推理のみでの回答です。(笑)

せっかく添付なさっている図は読めないので無視しました。
残るのは、
>=IF(COUNT(DGMAP(E2,H2,TRUE)),DGMAP(E2,H2,TRUE),0)
の関数式と、
>距離のセルには 0 が表示され
ということから、「距離を求めているつもり」であるという情報の2つです。

「DGMAP」はエクセルの関数には存在しないものなので、ユーザ定義関数ではないかと推理。
(標準関数でDGで始まるものは、DGETしかないので)
想像するところでは、このようなもの(↓)を作成なさっているのではないでしょうか?
https://stackoverflow.com/questions/10116301/goo …
(↑では、google mapのdirectionサービスを利用しているようです)

もしも、ここまでが奇跡的にあっていると仮定して・・・
ご提示の
>=IF(COUNT(DGMAP(E2,H2,TRUE)),DGMAP(E2,H2,TRUE),0)
はDGMAP()の結果が数値であればその数値を、そうでなければ0を返す関数となっていますので、
>0 が表示され
から、結果が数値ではないことが想像できます。
DGMAPが数値を返さないケースとして考えられるのは、
 ・住所等が検索できない(ので距離も計算できない)
 ・実行環境がXMLHTTPを利用できない環境である
  (ネットに接続されていない、あるいは、参照設定がされていないなど)
 ・そもそもDGMAPなる関数が存在しない
  (そのエクセルブックの参照範囲に定義されていない)
などが考えられます。
(もとは正しく動作していたという仮定に基づく推理です。正しく動作したことがないのなら、まさに「正しく動作しないから」が原因かと)

ここまでの推理があっているとして・・・
どこかのセルに
 =DGMAP(E2,H2,TRUE)
を入力してみることで、少しだけヒントとなる情報が得られそうに思います。
まず、数値が表示されることはないと想像しますが、何らかの理由で関数定義がみつからない場合には「#NAME?」のエラー表示になると思われます。
住所の検索ができない場合は何らかの文字列(DGMAP内で設定しているので不明ですが)で検索できない旨のエラー表示がされるなどが想像できます。
XMLHTTPが利用できない場合のエラーは試してみてはいませんが、ユーザ定義関数の場合はVBAのエラーとして実行停止で表示されることは無いようなので、「#VALUE!」エラーなどの表示になるのではないかと想像します。

※ 当たるも八卦の回答ですので、あくまでもご参考までに。
    • good
    • 4

そうだね

    • good
    • 0

確認のために、=DGMAP()関数とやらを説明してください。

    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています