人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

エクセル2003 関数について

添付図を確認下さい。

E列の数字をA列?B列から参照しC列の割合・D列の金額をF列・G列に反映させたいです。

?E列が200の場合、(A列)0?(B列)500の間なので割合5%と金額は-(0)を選択し反映
?E列が80,001の場合、(A列)80,001?(B列)100,000の間なので割合40%と金額は10,375を選択し反映
?A列?D列は現時点で固定の数字ですが今後変更になる可能性もあります(手入力)
?A列・B列ともに個別でそれぞれ入力ができ今後、A列・B列の数字が変更となっても対応できるようにしたいです
(A列に0?500と入力すると面倒なのでそれぞれのセルに一つずつ数字を入力したい)


という感じです。
質問があればコメント欄にお願いします。

1304993955
●拡大する

●質問者: namaewa_5
●カテゴリ:コンピュータ
✍キーワード:?B ?D と金 エクセル コメント欄
○ 状態 :キャンセル
└ 回答数 : 3/3件

▽最新の回答へ

1 ● うぃんど

関係が判らないという馬鹿げたコメントが続いたためにキャンセルせざるを得なかった前回質問への回答だと下記

http://q.hatena.ne.jp/images/question/1304990/1304990752.jpg

セル F G
1 =SUMPRODUCT(($B$1:$B$9<=A1)*($C$1:$C$9>A1)*($D$1:$D$9)) =SUMPRODUCT(($B$1:$B$9<=A1)*($C$1:$C$9>A1)*($E$1:$E$9))

今回のご質問では下記

セル F G
1 =SUMPRODUCT(($A$1:$A$9<=E1)*($B$1:$B$9>E1)*($C$1:$C$9)) =SUMPRODUCT(($A$1:$A$9<=E1)*($B$1:$B$9>E1)*($D$1:$D$9))

いずれも2行目以下にはコピーしていくだけですが注意点が2つあります

(1)絶対指定を行っているためA列からD列(旧B列からE列)の行が増減した場合には式を作り直す必要がある

(2)B列(旧C列)の最後の行は空白ではなく999,999といったように何らかの値を入れておく必要がある

(1)に関してはDSUM関数を用いる方法などがありますが条件を書いておくためのセルが別途必要になったりするので割愛しています

◎質問者からの返答

A列とB列それぞれに数字が入っていますので$A$1:$A$9で指定されるとできません


2 ● SALINGER

この表のように範囲が連続している場合はVLOOKUPの第4引数をTRUEにすればそのまま使えます。


E1の数式を

=VLOOKUP(E1,$A$1:$D$9,3)

F1の数式を

=VLOOKUP(E1,$A$1:$D$9,4)

第4引数は省略するとTRUEとなります。

http://allabout.co.jp/gm/gc/297725/4/

◎質問者からの返答

この式で本当にできましたか?

私はできませんでしたが


3 ● きゃづみぃ

F列

=INDIRECT("C" & (COUNTIF(A:A,"<="&E2))+1)

G列

=INDIRECT("D" & (COUNTIF(A:A,"<="&E2))+1)

最後に +1しているのは 最初に入っているA列の数字の行数 ?1の値です。

なお B列は みてません。

B列が 必ず A列の続きになるようになっているならば B列は 不要だからです。

人間が 見た目 あると わかりやすいだけかなと思います。

なので

0-500

501-800

1001-1500

みたいな イレギュラーな感じでは 対応できません。

ま、900とかの値の時 どうするんだ?というのが 出てくるとは 思いますが・・・。

◎質問者からの返答

この式で本当にできましたか?

私はできませんでしたが

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ