電子書籍の厳選無料作品が豊富!

次のような表を作成したいと思います。

10以下=0
10~19=5を足す
20~29=10を足す
30~39=15を足す
40~49=20を足す



90~99=45を足す

例)A1に33と入力した場合B1のセルに15を足された48といった数値が答えとして出るように、またA2に13と入力した時はB2に18が返るようにといったことがしたいのですが…10以下はそのままの値(実際は0を足した)が返るようにしたいのです。

これらの数値範囲内の場合各数値を足した合計が出るようにしたいのですが1つの式にまとめることはできるでしょうか?

説明がうまくできませんが分かる方は宜しくお願いします。

A 回答 (4件)

セルB1に


=INT(A1/10)*5+A1
を代入

そのままB2以下のセルにコピー

でどうでしょう
    • good
    • 0
この回答へのお礼

回答ありがとうございます。
自分のやりたいことはこの数式でできました。
本当勉強になりました。
INTを使うのは自分では全く頭に無かったです。

お礼日時:2005/06/02 14:42

こんにちは。



まず、数値が、A1:A10 にあるとします。

B列の 個々の計算は、
=ROUNDDOWN(A1,-1)/2+A1

合計は、A11:
=SUMPRODUCT(ROUNDDOWN(A1:A10,-1)/2+A1:A10)

ですが、

//「これらの数値範囲内の場合各数値を足した合計」//
というご質問には、2つの意味があると思います。

○1つは、これらの数値範囲内の場合のみ計算に入れる

=SUM(IF((A1:A10>0)*(A1:A10<100),ROUNDDOWN(A1:A10,-1)/2+A1:A10,0))

配列数式ですから、一旦入力したら、目的の式にF2を押して、『ShiftとCtrlを押しながらEnterキー』を押します。

○もう1つは、これらの数値範囲内の場合に、各数値を足したけれども、それ以外の数値は、足さない。

 =SUM(IF((A1:A10>0)*(A1:A10<100),ROUNDDOWN(A1:A10,-1)/2+A1:A10,A1:A10))

上記と同様に、配列の確定が必要です。
    • good
    • 0
この回答へのお礼

回答ありがとうございます。
自分のやりたいことはこの数式でできました。
本当勉強になりました。
自分もIF式で作っていたのですがもっと簡単にまとめれないかと思ったので…。
いろいろな方法があるのですね。ありがとうございました!

お礼日時:2005/06/02 14:51

   A  B


1   8  甲
2  15
3  64
4  93
5  乙

上記のような場合ですが、
B列にA列各セルに対応する結果を出すのでしたら、甲に
 =INT(A1/10)*5+A1
で下方にコピー。

これらの集計値を出すのでしたら、乙に
 =SUMPRODUCT(INT(A1:A6/10)*5+A1:A6) で [Enter]
または
 =SUM(INT(A1:A6/10)*5+A1:A6) で [Ctrl]と[Shift]を押しながら[Enter]
    • good
    • 0
この回答へのお礼

回答ありがとうございます。
自分のやりたいことはこの数式でできました。
本当勉強になりました。
>[Ctrl]と[Shift]を押しながら[Enter]
昔覚えたのに忘れてました。

お礼日時:2005/06/02 14:49

 すべてを計算ですませるなら…B1に以下の式



=INT(A1/10,0)*5+A1

 でいいのではないでしょうか?
 対象値の範囲にもっと柔軟に対応するには、切り捨ての桁数を管理できる

=ROUNDDOWN(A1/10,0)*5+A1

 というパターンもあります。

 あと、もっと複雑なパターンに対応するときは、すべてを式で計算するのではなく、俗に「テーブル引き」と呼ばれる方法がいいかと思います。(テーブルとは英語で表のこと)

10 0
20 5
30 15


 という表を別なところ(目立たないところ、あるいはほかのシート)に作っておき、検索関数を使って、その表から比較値に対応する加算値を検索するようにすると、もっと不規則なパターンにも簡単に対応できます。
    • good
    • 0
この回答へのお礼

回答ありがとうございます。
自分のやりたいことはこの数式でできました。
本当勉強になりました。
INTを使うのは自分では全く頭に無かったです。
テーブル引きも使ってみようと思います。

お礼日時:2005/06/02 14:44

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