エクセル2000で作った料金表の料金を表示させるには
どうすればいいでしょうか?

手順として考えているのは
(1) 総当り表のように、出発地と目的が交差したセルに
 その区間に該当する料金を入れた表を作る。

(2) 区間の駅名を「データ」の中の「入力規則」機能を
 使用して、プルダウンメニュー?(オートフィルタみたいな
 感じ)でそれぞれ行き先・目的地をクリックだけでセルに
 入力出来るようにする。

(3) 行き先・目的地を入れると(1)で作った料金表から
  該当区間の料金を引っ張って表示できるように
  関数を入力する。

なのですが、手順(2)まではできましたが(3)で使用する関数を
どうすればいいのかわかりません。
関数には日本語が使えないので駅名にそれぞれ数字を割り当てて、
まず(2)で選択した駅名を数字に置き換える関数を入れたセルを
作ってから・・・と思ったのですがindexの関数がどうしても
正しく入れられません。

説明も的確ではないかもしれませんが、かなり困っています。
全くやり方が違っているかもしれません。
ご指摘・ご指導よろしくお願いします。

このQ&Aに関連する最新のQ&A

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

主旨と合致しているようでしたら試して見て下さい!
    • good
    • 0
この回答へのお礼

早速のレスありがとうございます!
この数日悩み続けていたんです。
まったく、思った通りの関数でした。
ありがとうございます!

お礼日時:2001/10/15 23:36

こんばんは。


つい最近、学校で関数を習ったばかりですが、がんばって考えてみました。

少し回りくどくなってしまうかもしれませんが。。。

・(1)の時に出発地・目的地の外側に番号を振る。
 振らなくてもいいのですが、(2)を分かりやすくするために。。。
・(2)でセルに出発地等が表示されたらその隣にでも(1)と対応する番号がでるようにしてください。
・(3)でindexを使った関数を入力します。

=index((2)での料金表の行にある数字が入力されているセル,同じく列,料金表のデータ部分を範囲選択)

でOKだと思います。
さらにindexの前にif文で(2)が空欄の時は何も表示しないとすれば完璧です。

きっと、もっと簡単な方法があるでしょうからこれは本当に参考までに。。。
    • good
    • 0
この回答へのお礼

ありがとうございます。
関数の理屈がいまひとつわかってないまま使ってますので
日本語で組み立てを解説していただくとよくわかります。
関数を重ねて使用するという発送があまりなく、ifを重ねて
使うというやり方、勉強になりました。

お礼日時:2001/10/15 23:40

このQ&Aに関連する人気のQ&A

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

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Qエクセルで種類を数える関数が無いのは何故?

エクセルで種類を数える関数が無いのは何故なんでしょうか?

エクセルで種類を数えるには、いくつかの関数を組み合わせるのが一般的ですよね?
直接数える関数が無いのは、訳があるんでしょうか?

Aベストアンサー

>>エクセルで種類を数える関数が無いのは何故なんでしょうか?

やっぱり、そういう関数が必要な方が全体からみたら少数派だと、エクセルの開発者たちが考えているからではないかと思います。
また、既存の関数を組み合わせたら、対処可能だから、無理して新しい関数を作る必要性もない、開発の優先順位が低いって判断もあるでしょうね。

私は、エクセルの表を作ったり、エクセルVBAでプログラムを作ったりしますけど、そういう関数が必要になったことが全くありませんし。

QEXCEL関数で数量別単価表から該当する単価を表示させる方法が知りたい

Sheet1に下記のような数量別単価表があります。

品番 数量(個) 単価(円)
001 100-199 500
001 200-299 450
001 300-399 420
001 400-499 360
001 500-599 300
001 600-     220

002  300-599   90
002  600-999   88
002  1000-1499  85
002  1500-1799  81
002  1800-1999  80
002  2000-     79
・・・以下品番500程度まであり、それぞれ数量と単価の設定が変わってきます。この表を元にSheet2のセルに品番と数量を入力すれば、自動的に条件にあう単価を表示させる方法がわからず困っております。お知恵をお貸し下さい。
※品番001の数量「600-」の表記は600個以上はすべて単価220円という意味です。

Aベストアンサー

#8のWendy02です。

一応、確認を待たずに、ユーザー定義関数のVLOOKUPに似たものを作って完成しています。ただ、少し大きめなのと、最近、私のミスが多くなってきておりますので、動作試験をしばらく繰り返します。
今の段階では、まったく問題は出ていません。イレギュラーなパターンを探して、試しています。

#←ここが問題*
という問題は、こちらで解決させてしまいました。

#変更されたデータと、そうでないベタ・データでは、段違いにベタのほうが難しいです。

これは無視してください。

#今のデータは、以下のようなベタで打ち出したような状態になっているのですか?

なお、ベタのデータが、どのぐらいあるのかは、まだ気になるところです。たぶん、1万行程度は、まったく問題がないと思います。一応、品番は、並べ替えて、同じものが並んでいるという条件です。

なるべく見切り早いうちに、掲示します。お使いになるかは別問題ですが。

Qエクセルの関数で

エクセルの関数辞典を見ていたら、CUMPRINC関数というのがありました。
しかし、エクセルの「挿入」→「関数」→関数の分類で「財務」というのを選択したのですが、一覧表に載っていません。
どこに載っているのでしょうか?
どうすればこの関数を使えますか?
ちなみにシートの上でやっても関数の反応をしませんでした。

Aベストアンサー

Yahooで検索してみると、参考URLが引っかかりました。

参考になりませんか?

参考URL:http://money-sense.net/doc/20041215_224257.php

QExcel関数のCOUNTIFで、正しくカントされない!?

Excelで、
(Aシート)
    A   B   C
  去年  今年  差   
3  50.5  51.7  1.2
4  70.3  71.5  1.2
5  63.0  60.2  -2.8
・・・・・・・
(差は『今年』―『去年』で計算式で出しています)

上記のようなデータから、Bシートに、差を
   A   
2 -2.9  0 ←=COUNTIF('Aシート'!C3:C50,A2)
3 -2.8  1 ←=COUNTIF('Aシート'!C3:C50,A3)
4 -2.7  0
・・・・・
5 1.1  0
6 1.2  2
7 1.3  0

のようにそれぞれの差にあたる数をカウントしたいので
上記のようにCOUNTIFを使ったのですが
なぜかカウントされないものと、カウントされるものがあるのです。

無知な私に解決方法を教えて頂ければと思います。
よろしくお願いいたします。

Aベストアンサー

こんにちは。

これは、なかなか難しい問題ですね。Excel自身の問題だと思います。(開発時代の頃とPCのスペックも違うのですから、マイクロソフト側で直してほしいなって思います。)

整数にすれば問題はないのですが、小数点ですから、見かけでは、どこに誤差が出ているのか分かりません。

誤差が、Aシートにも、Bシートにも存在します。

単純に、数式で解決するには、COUNTIF ではなくて、FREQUENCY 関数を使います。

ただし、

Aシート
63.0  60.2  -2.8 ○

Bシート
3: -2.8  1 ○

Aシート○とBシート○とは同じとは限りません。区間の中でカウントする必要があります。

Bシート
A 列
2: -3.1 (ずらすために、ダミーで、-3.1 から書きます)
3: -3.0
4: -2.9  ←ただし、そのままオートフィルを使うと誤差が生じてしまいます。
 ・
 ・
 ・
53: 2.0

例えば、これを、=ROUNDUP(A2,1) として、誤差を切り上げしてあげるか、または、手入力するなどしなくてはいけません。

次に
B2~
=FREQUENCY(シートA!C3:C50,シートB!A2:A53)

B53 まで、範囲を伸ばして、F2を押して、B2がアクティブセルということを確認したら、[Ctrl + Shift + Enter] を押し、配列確定をします。

-----------------
第二案としては、

50.5  51.7  1.2

この数式で、= ROUNDUP(B2 - A2, 1)

として、丸めてしまうという方法が考えられます。

こんにちは。

これは、なかなか難しい問題ですね。Excel自身の問題だと思います。(開発時代の頃とPCのスペックも違うのですから、マイクロソフト側で直してほしいなって思います。)

整数にすれば問題はないのですが、小数点ですから、見かけでは、どこに誤差が出ているのか分かりません。

誤差が、Aシートにも、Bシートにも存在します。

単純に、数式で解決するには、COUNTIF ではなくて、FREQUENCY 関数を使います。

ただし、

Aシート
63.0  60.2  -2.8 ○

Bシート
3: -2.8  1 ...続きを読む

Qエクセルの関数 ネスト

エクセルの関数 ネスト

エクセルの関数で、ネストさせるときがあるとおもうのですが、

関数を内側に書いたらよいのか外側に書いたらよいのか分からなくなる時があります。

エクセルの関数に関してわかりやすく書いてあるページなどありますか。

Aベストアンサー

こんばんは

Excel2003までは、ネストが7まで、2007では64までが可能です。
http://www.google.co.jp/search?hl=ja&source=hp&q=excel+%E3%83%8D%E3%82%B9%E3%83%88%E3%80%802003%E3%80%802007&aq=f&aqi=&aql=&oq=&gs_rfai=

「仕様上は可能」でも、複雑なネストは間違いが生じやすいですし、変更もしにくくなります。「出来るだけネストはしない」「適宜、中間結果をセルに出力する」という方法を採った方が、間違いが少なく、柔軟性のあるシステムになると思います。

>エクセルの関数に関してわかりやすく書いてあるページなどありますか。
関数の個別の機能ならば、Webサイトも書籍も多数あるのですが、「組み合わせて使う」というのはその場その場での発想になってしまうと思います。

Q条件に該当するセルの下のセルの数値を集計したい。

N4に
AQ4~CV4の中で、K1~L1までの期間に該当すれば、
AQ5~CV5の数値を合計する。という式が上手く作れません。

作ってみたのは
N4=SUMIFS(AQ5:CV5,AQ4:CV4,"<="&K1,AQ4:CV4,"=>"&L1)

SUMPRODUCTを使うのかと、チャレンジするものの、O4でエラーになっています。

該当日の色付けは条件付き書式で出来るようになったので、
その下も一緒に色付けて、色のセルを合計とも考えたのですが、
色付けもできませんでした。

なんとか計算できる方法はありますか?
どうぞよろしくお願いいたします。

Aベストアンサー

貴方が「作ってみた」式がナッチョランです、はい。
でも「惜しいッ!」とも言えます。次の式を試してみて、何処がナッチョランか見極めてください。
N4: =SUMIFS(AQ5:CV5,AQ4:CV4,">="&K1,AQ4:CV4,"<="&L1)

Qエクセル関数の解読サイトなんてありますか?

エクセル関数の解読サイトなんてありますか?

いつもお世話になっております<(_ _)>

エクセルファイルに関数の入った数式が入力されています。
セルごとに複数の関数が入っていますが、私にはちっともわかりません。

そこで質問です。
こんなとき「エクセル関数を解読」してくれるようなサイトってありませんか?

たとえば検索窓があってそこに「=SUM(S1:S13)」わからなくて困っている関数式を入力。
すると答えの別ボックスに「S1~S13までの数値の合計」と出てくるようなサイト。

それに近いサイトでも良いので知っている方がいらっしゃればぜひ、教えてください<(_ _)>

Aベストアンサー

もし、

=IF(E14="","",IF(O14="",(IF(E14>"18:00"*1,"18:00",E14)-IF(C14<="8:00"*1,"8:00",C14))*24*1300,(IF(E14>"18:00"*1,"18:00",E14)-IF(C14<="8:00"*1,"8:00",C14))*24*1625))

だったら、どういう文章が出て欲しいのでしょうか?

もしE14が空白だったら、
 空白、
そうじゃなかったから、
 もしO14が空白だったら、
  (もしE14が18:00より大きかったら18:00、そうじゃなかったらE14)-(もしC14が8:00以下だったら8:00、そうじゃなかったらC14)×24×1300
 そうじゃなかったら、
  (もしE14が18:00より大きかったら18:00、そうじゃなかったらE14)-(もしC14が8:00以下だったら8:00、そうじゃなかったらC14)×24×1625

って感じですか?
数式をそのまま読解したほうが解りやすくないですか?

Q一定のセル範囲で複数の条件に該当しないセルの有無を簡単に取得する方法

A1:A20の範囲で、空白ではなく、A~Eや1~5のどれにも該当しないセルの有無を取得する場合、以下のような長ったらしい関数以外でもっと簡単な方法はないでしょうか?
なお、設定の検索値のA~Dや1~5は例であり、実際は別の規則性のない文字列および数値です。
宜しくお願いいたします。

=SUMPRODUCT((A1:A50<>"")*(A1:A50<>1)*(A1:A50<>2)*(A1:A50<>3)*(A1:A50<>4)*(A1:A50<>5)*(A1:A50<>"A")*(A1:A50<>"B")*(A1:A50<>"C")*(A1:A50<>"D")*(A1:A50<>"E"))=0

Aベストアンサー

質問者のお好きな?SUMPRODUCTを使うなら

範囲A1~A20 とした場合

=SUMPRODUCT((A1:A20={"","A","B","C","D","E",1,2,3,4,5})*1)=20

で、どうでしょうか。

見ればお分かりだと思いますが、質問者と逆で、
"","A","B","C","D","E",1,2,3,4,5
の数を数えています。
 

 

Qエクセル関数を、書き写して分析できるツールはある?

タイトルの件、質問します。

エクセルの関数を分析する際に、エクセルの数式バーや、セルに入っている関数を
F2を教えて見るのでは、見にくい場合があります。

現在は、私は、メモ帳に関数をコピーして、分析したり、修正したりしています。
エクセルの機能or他ソフトで、関数を分析できるツールはあるのでしょうか??

【エクセルバージョン】
2003、2007

Aベストアンサー

難解な数式を理解したいとき,最も便利に利用できるのは,2003ではツールメニューのワークシート分析にある「数式の検証」です。
2007では数式タブにあります。

メンドクサイ数式のセルで数式の検証を使い,どの関数やどのカッコから計算が進んでいくのかを1ステップずつトレースして理解します。また意図しない結果がどの段階で発生しているのか追跡します。

このやり方は勿論間違った数式(意図しない結果が出てきた場合)を追跡するのにも使いますが,むしろ誰かに教わった「正しい数式」を理解する時に便利な方法です。
そもそも計算が通っていない(たとえばカッコの対応が間違えていて,Enterしても受け付けてくれないようなミスをしている場合)には使えません。



また,数式バーの中で数式の「中」にカーソルを入れて左右の矢印キーでカーソルを動かしていったときに,「(」や「)」をまたいだ瞬間に,対応する「閉じカッコ」「始まりのカッコ」が色つきで強調表示されるのを確認しながら,カッコの対応がまちがえてないかなどを調べるのも簡易な良い方法です。


あまり使わない方法ですが,数式の中で適宜ALT+Enterを打って「セル内改行」してしまい,数式を縦に分解して書いてみるのも整理しやすい方法のひとつです。

難解な数式を理解したいとき,最も便利に利用できるのは,2003ではツールメニューのワークシート分析にある「数式の検証」です。
2007では数式タブにあります。

メンドクサイ数式のセルで数式の検証を使い,どの関数やどのカッコから計算が進んでいくのかを1ステップずつトレースして理解します。また意図しない結果がどの段階で発生しているのか追跡します。

このやり方は勿論間違った数式(意図しない結果が出てきた場合)を追跡するのにも使いますが,むしろ誰かに教わった「正しい数式」を理解する時に便利...続きを読む

Qエクセル・区間を含む複数条件から該当する値を返す。その2

材質(3種類)、容積(7種類)ごとに異なるレート(売りと買い2種類)を、材質、容積を指定することによって導き出す方法をご教授願います。

http://oshiete1.goo.ne.jp/qa4820850.html?ans_count_asc=1
過去の質問を調べたところ上記が類似していたので、その中にある_Kyle様の回答を見ながら自力で作成してみましたが材質(列で展開)は指定どおり飛んでいきますが、容積(行で展開)が最上段のまま飛んでいかない状態です。
詳細は以下の図をご覧ください。
SHEET1は、レートの表です。
    A  B  C  D  E  F G
1 材質A 材質B 材質C
2 容積   buy sell buy sell buy sell
3  0.00 100 120 110 130 120 140
4  0.81
5   1.01
6   2.01
7   3.01
8   4.01
9   5.01
10  6.01

容積は、0~0.8m3の場合が3行目、0.81~1.00m3が4行目になっています。

SHEET2は、材質、容積を入力してレートを出すものです。
  A   B  C  D E F
1 材質  容積      buy sell
2         レート
   
A2に材質(A or B or C)
B2に容積
を入力するとE2にbuy F2にsellのレートが出てくるようにしたいのです。
現在、SHEET2!E2に以下の式を入力し容積(行で展開)が最上段のまま動かない状態です。
=INDEX(OFFSET(SHEET1!$B$3:$B$10,,IF(A2=I1,0,IF(A2=K1,2,4)),MATCH(B2,SHEET1!$A$3:$A$10,1),),1)

以上、よろしくお願いします。

材質(3種類)、容積(7種類)ごとに異なるレート(売りと買い2種類)を、材質、容積を指定することによって導き出す方法をご教授願います。

http://oshiete1.goo.ne.jp/qa4820850.html?ans_count_asc=1
過去の質問を調べたところ上記が類似していたので、その中にある_Kyle様の回答を見ながら自力で作成してみましたが材質(列で展開)は指定どおり飛んでいきますが、容積(行で展開)が最上段のまま飛んでいかない状態です。
詳細は以下の図をご覧ください。
SHEET1は、レートの表です。
    A  B...続きを読む

Aベストアンサー

こんにちは!
すでに良い回答が出ていますので、参考程度で目を通してみてください。

↓の画像で説明させていただきます。
区分の境界がどのようになるか?によって表の配置が変わってきます。
(データを昇順に並べるか、又は降順に並べるか・・・です)
本来は表の薄い水色部分のみでOKなのですが、判りやすくするために
敢えて「○を超え」や「△未満」の列も載せています。

○を超えて~△以下 というのであれば画像の上側の表になり、
○以上~△未満 ということであれば下側の表を使います。

仮に上側の表を使った場合のSheet2のC2数式は
=IF(COUNTBLANK($A2:$B2)>0,"",INDEX(Sheet1!$C$3:$H$8,MATCH($B2,Sheet1!$B$3:$B$8,-1),MATCH($A2,Sheet1!$C$1:$H$1,0)+COLUMN(A1)-1))
として列方向と行方向にコピーすると画像のような感じになります。

余計なお世話かもしれませんが、
下側の表の場合のC2セルの数式は
=IF(COUNTBLANK($A2:$B2)>0,"",INDEX(Sheet1!$C$12:$H$17,MATCH($B2,Sheet1!$A$12:$A$17,1),MATCH($A2,Sheet1!$C$10:$H$10,0)+COLUMN(A1)-1))
という数式を入れ、列方向と行方向にオートフィルでコピーします。

以上、参考になれば幸いです。m(__)m

こんにちは!
すでに良い回答が出ていますので、参考程度で目を通してみてください。

↓の画像で説明させていただきます。
区分の境界がどのようになるか?によって表の配置が変わってきます。
(データを昇順に並べるか、又は降順に並べるか・・・です)
本来は表の薄い水色部分のみでOKなのですが、判りやすくするために
敢えて「○を超え」や「△未満」の列も載せています。

○を超えて~△以下 というのであれば画像の上側の表になり、
○以上~△未満 ということであれば下側の表を使います。

仮に...続きを読む


人気Q&Aランキング

おすすめ情報