プロが教えるわが家の防犯対策術!

現在毎月の走行距離を表にしようとしているのですが、
走行距離の集計でもっと簡単に出来ないかと悪戦苦闘しております。
今しようとしていることは

 A    B     C    D  
自宅  →   会社  10
本社  →   自宅  10

という風にA・C列を入力規則でリストから選び出しA・Cに入った値から
判別してDに距離を自動入力できないかと考えております。
エクセルでは限界があるのでしょうか。
どなたかお知恵を授けていただけないでしょうか?宜しく御願いします。

A 回答 (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))

で表引きされた距離が入ってくれます。


ご質問の意図と相違がありましたら、補足願います。
    • good
    • 0
この回答へのお礼

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

お礼日時:2007/05/21 08:48

以下の数式は、見出しを書かないとして、すべて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拠点くらいなら、なんとかなるかな。
    • good
    • 0
この回答へのお礼

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

お礼日時:2007/05/21 08:51

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