• ベストアンサー

エクセルで走行距離表を作成したいのですが・・・

現在毎月の走行距離を表にしようとしているのですが、 走行距離の集計でもっと簡単に出来ないかと悪戦苦闘しております。 今しようとしていることは  A    B     C    D   自宅  →   会社  10 本社  →   自宅  10 という風にA・C列を入力規則でリストから選び出しA・Cに入った値から 判別してDに距離を自動入力できないかと考えております。 エクセルでは限界があるのでしょうか。 どなたかお知恵を授けていただけないでしょうか?宜しく御願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • kigoshi
  • ベストアンサー率46% (120/260)
回答No.2

2次元表の表引きができればよいと言うことですね。 ここでは(自宅や本社などの)拠点が5つあるとして考えます。 距離を示した表を表題を含め F1:K6 の中に作るとします。 以下のような感じ    F  G  H  I   J  K 1     自宅 本社 支店 営業所 倉庫 2 自宅   0  15  17  31  45 3 本社  15   0   5   10 13 4 支店  17   5   0    8  10 5 営業所 21  10  8    0   6 6 倉庫  25  13  10    6   0 ここでセルA1とセルC1に、この拠点のどれかが入っている場合、 =INDEX($G$2:$K$6,MATCH(A1,$F$2:$F$6,0),MATCH(C1,$G$1:$K$1,0)) で表引きされた距離が入ってくれます。 ご質問の意図と相違がありましたら、補足願います。

tsumori-1
質問者

お礼

御返事ありがとうございます。 実際ご指導の元作ってみました。まさに意図通りの物が出来ました!! ありがとうございました。

その他の回答 (1)

  • vaio09
  • ベストアンサー率37% (756/2018)
回答No.1

以下の数式は、見出しを書かないとして、すべてA1列からデータが書かれているとします。 D列に以下の数式を入力します =ABS(E1-F1) =ABS(E2-F2) =ABS(E3-F3) (以下同様) E列に以下の数式を入力します =IF(A1="自宅","10",IF(A1="会社","20",IF(A1="本社","30",""))) =IF(A2="自宅","10",IF(A2="会社","20",IF(A2="本社","30",""))) =IF(A3="自宅","10",IF(A3="会社","20",IF(A3="本社","30",""))) (以下同様) F列に以下の数式を入力します =IF(C1="自宅","10",IF(C1="会社","20",IF(C1="本社","30",""))) =IF(C2="自宅","10",IF(C2="会社","20",IF(C2="本社","30",""))) =IF(C3="自宅","10",IF(C3="会社","20",IF(C3="本社","30",""))) (以下同様) こうすると、D列には、出発点と到着点の差し引きされた数字(≒距離)が出力されます。 D列のABSというのは、絶対値を算出する関数です。出発点と到着点が逆になっても、距離が常に正の数になるようになっています。 それから、10,20,30というのは、便宜上つけた距離です。 あなたの環境で算定するには、たとえば、 自宅と東京タワーとの距離:10Km 会社と東京タワーとの距離:20Km 本社と東京タワーとの距離:30Km などとして算定してみてください。 この方法は、実は、たいしてスマートではありません。 拠点がたくさん増えた場合、E,F列のIF文がもっと複雑になってしまいます。5拠点くらいなら、なんとかなるかな。

tsumori-1
質問者

お礼

御返事ありがとうございます。 なるほどー場所に数値を定義つけるんですね~ 色々勉強になりました。ありがとうございます。