- ベストアンサー
EXCELで。
こんにちは^^ ちょっと説明しにくいのですが 500,001~600,000 > 5.0% 600,001~700,000 > 5.5% 700,001~800,000 > 6.0% ・ ・ ・ といった具合に、あるセルに打ち込まれた数字の範囲によって あらかじめ定められたまったく無関係な数値が 自動的に他のセルに記入されるようにしたいのです。 例えば上の場合A1に623,000と打ち込めばA2に自動的に5.5%と記入されるように、 ということなのですが、エクセルにこういう機能はありますか? ヘルプを参照しようにもこういう作業をなんと呼べばいいのか分からず探せないのです。 やり方まででなくても参照の手引きがあれば教えていただけませんでしょうか。 よろしくお願いします。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
VLOOKUP関数(に適した)の典型的な利用法です。 テストデータとして用意します。簡単数値にしました。 表としてA1:B4に下記のデータを入れます。 必ず表のデータの刻みのA列は大きいもの順に並べておいて 下さい。例えばA列は購入数量、B列は割引%のつもり。 10 5 15 6 20 7 25 8 C列にデータを入れます。C1:C4に、 12 18 22 28 式をD1に=VLOOKUP(C1,A1:B4,2,TRUE)と入れます。 C1のデータについて、A1:B4の表を引き、該当の 表の行の第2列(割引%)を取ってこいということです。 Trueは別にFalseと指定する機能(場合)が設けられていますので区別するため入れます(Falseの説明略) Trueの場合はC1の12より直近の少ない値、この場合表の10を探し当てて、その割引%の5を引いて、D1にセットします。D1の関数をD2:D4に複写します。答えはD1:D4に 5 6 7 8 となります。
その他の回答 (2)
お二人とも微妙に検索範囲が…。 deadlineさんの例をお借りして、 VLOOKUP(A1,$E$1:$F$10,2) にしないと、検索範囲が狭くなっていきますね。
お礼
ありがとうございます。なにがどう違うのやら分からない人間ですが^^;先の方との説明と照らし合わせて勉強させていただきます。 ありがとうございました。
- deadline
- ベストアンサー率63% (1239/1943)
ご質問のような作業には、VLOOKUP関数を使います。 まず、適当な空白セル(仮にE1~F10とします)に E列 F列 1行 500,001 5.0 2行 600,001 5.5 3行 700,001 6.0 4行 800,001 6.5 ・ ・ ・ ・ と入力し、セルA2に =VLOOKUP(A1,$E$1:$F$10,2) と入力します。 VLOOKUP関数は =VLOOKUP(検索値,検索範囲,列番号[,検索の方法]) の書式で、"検索値"で指定された数値や文字列を"検索範囲"の最左列から探して、それに対応する値を"列番号"(検索範囲の最左列を1として数えます)で指定されたセルから読み取ります。 "検索の方法"は"TRUE"または"FALSE"で指定しますが、"TRUE"の時には、省略が可能です。 "TRUE"を指定すると、"検索値"と一致する値が"検索範囲"の最左列にない時には、"検索値"より小さい値の最大値が検索されます。 "FALSE"を指定すると、"検索値"と一致する値のみを検索し、一致する値がない時にはエラーになります。 "TRUE"を指定する時には、検索範囲を照合する列(上の例ではE列)で昇順に並べ替えておく必要があります。
お礼
すぐにお答えいただけたようでお礼が遅れ申し訳ありません。 仮の例が分かりやすく配慮していただいたようでありがとうございました。 難しそうですがやってみます^^
お礼
早々にお答えいただいたようでありがとうございます。 ちょっと難しそうですがやってみますね^^ ありがとうございました。