- ベストアンサー
エクセル・index関数
エクセル2000で作った料金表の料金を表示させるには どうすればいいでしょうか? 手順として考えているのは (1) 総当り表のように、出発地と目的が交差したセルに その区間に該当する料金を入れた表を作る。 (2) 区間の駅名を「データ」の中の「入力規則」機能を 使用して、プルダウンメニュー?(オートフィルタみたいな 感じ)でそれぞれ行き先・目的地をクリックだけでセルに 入力出来るようにする。 (3) 行き先・目的地を入れると(1)で作った料金表から 該当区間の料金を引っ張って表示できるように 関数を入力する。 なのですが、手順(2)まではできましたが(3)で使用する関数を どうすればいいのかわかりません。 関数には日本語が使えないので駅名にそれぞれ数字を割り当てて、 まず(2)で選択した駅名を数字に置き換える関数を入れたセルを 作ってから・・・と思ったのですがindexの関数がどうしても 正しく入れられません。 説明も的確ではないかもしれませんが、かなり困っています。 全くやり方が違っているかもしれません。 ご指摘・ご指導よろしくお願いします。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
こんにちは! A B C D E 1 出\着 aaa bbb ccc ddd 2 aaa 0 100 200 300 3 bbb 100 0 100 200 4 ccc 200 100 0 100 5 ddd 300 200 100 0 こんな表でしょうか? A B 7 出発 リスト 8 到着 リスト 9 金額 ★式 式 =IF(COUNTA(B7:B8)=2,INDEX(B2:E5,MATCH(B7,B1:E1,0),MATCH(B8,A2:A5,0)),"") 主旨と合致しているようでしたら試して見て下さい!
その他の回答 (1)
- ellery
- ベストアンサー率40% (9/22)
こんばんは。 つい最近、学校で関数を習ったばかりですが、がんばって考えてみました。 少し回りくどくなってしまうかもしれませんが。。。 ・(1)の時に出発地・目的地の外側に番号を振る。 振らなくてもいいのですが、(2)を分かりやすくするために。。。 ・(2)でセルに出発地等が表示されたらその隣にでも(1)と対応する番号がでるようにしてください。 ・(3)でindexを使った関数を入力します。 =index((2)での料金表の行にある数字が入力されているセル,同じく列,料金表のデータ部分を範囲選択) でOKだと思います。 さらにindexの前にif文で(2)が空欄の時は何も表示しないとすれば完璧です。 きっと、もっと簡単な方法があるでしょうからこれは本当に参考までに。。。
お礼
ありがとうございます。 関数の理屈がいまひとつわかってないまま使ってますので 日本語で組み立てを解説していただくとよくわかります。 関数を重ねて使用するという発送があまりなく、ifを重ねて 使うというやり方、勉強になりました。
お礼
早速のレスありがとうございます! この数日悩み続けていたんです。 まったく、思った通りの関数でした。 ありがとうございます!