dポイントプレゼントキャンペーン実施中!

エクセルの関数について質問です。
4の答えが4.33の場合には4.5
4の答えが4.65の場合には5.0
4の答えが4はダメです。
この場合どういう条件、または関数で上手く答えが出せるでしょうか?
今はif関数で、何となくはできたのですが、4.33の答えが4.40にする事はできます。

質問者からの補足コメント

  • ありがとうございます。

    4でない場合でもその式でいけるのでしょうか?

    3が3だとダメで、3が3.25なら3.5にして、3.72なら4にするといった感じに色々な答えが出ます。

    2に1.033をかけて、2.066だと2.5にしなければなりません。

    5に1.033をかけて、5.165だと5.5にしなければなりません。

    8.32に1.033をかけて、8.59だと9.0にしなければなりません。

      補足日時:2022/10/20 18:22
  • Aに1.033をかける。
    答えは、少数第1位まで欲しく、キリの良い答えをだしたい。(0.5または整数にしたい)しかし、同じになった場合(A=A)には、1.05をかけたい。
    難しいです…

      補足日時:2022/10/20 18:46
  • 0.0 → ダメ
    0.01~0.1  → 0.5
    0.11~0.5 →1+0.0
    ではどうでしょう

      補足日時:2022/10/21 03:27
  • 0.0=0.0 ダメ
    0.01〜0.49 0.5
    0.50=0.50
    0.51〜0.99 1.0

    宜しくお願いします。

      補足日時:2022/10/21 09:37
  • 今行っているのは価格改定自動計算表を作ってます。旧価格に1.055をかけた答えが新価格。

    例えば1.5が旧価格だとしたら答えは1.5825になります。
    しかし小数点第一以下は全て切り上げです。
    これにより1.6になります。
    小数点第一が0.5以上は整数
    小数点第一が0.4以下は0.5にしたいです。

    例の答えは1.5825でもなく1.6でもなく2になるという事です。

    さらに旧価格と新価格が同じになった場合新価格に1.05をかけて小数点の処理は先程と同じ。

    これをExcelで自動計算できるようにリストを作りたいです。

      補足日時:2022/10/21 11:07

A 回答 (9件)

条件として「旧価格に1より大きな数をかけて、それを0.5刻みで切り上げる」のだから、「さらに旧価格と新価格が同じになった場合」はそもそもあり得ません。

起こりません。

私の回答#7でいうところの「ダメ」となる答えは発生しないのだからIF条件は不要、旧価格×1.055の答えをA1に置いて、

=ROUNDUP(A1*2,0)/2

で良いはずです。

※補足とお礼の使い方を間違えています。回答者はあなたの補足が誰に対するものか、わかりにくいです。
    • good
    • 1
この回答へのお礼

やってみます

ありがとうございました!

お礼日時:2022/10/24 10:03

#7です。

ごめんなさい、IF式の最後を2で割るのを忘れていました。

=IF(ROUNDUP(A1*2,0)/2=A1,”ダメ”,ROUNDUP(A1*2,0)/2)

ですね。
    • good
    • 0

0.5刻みで切り上げるということですかね。

求める答えは2倍すると必ず整数になるので、2倍して操作(Roundup)すればよいです。

セルA1に元の数を置くとすると、答えを置くセルには

=ROUNDUP(A1*2,0)/2

つまり2倍して切り上げた整数を半分に戻して0.5を作り出す。

しかしこれだけではちょうど整数のとき「ダメ」にならないので、このとき「ダメ」という答えにしたいのだとすれば、

=IF(ROUNDUP(A1*2,0)/2=A1,”ダメ”,ROUNDUP(A1*2,0))

つまり元の数が整数なら(計算結果は元と同じ整数になるので)、そのときだけ「ダメ」という文言を入れる式をIFで示すことになります。
    • good
    • 1

四捨五入って言葉、知ってますよね?


ん?もしかすると、四捨五入をまだ習っていない小学生かな?

もしそうなら、ROUND(ラウンド)関数というのを
検索して、調べてみて。
それでわかるはず。
    • good
    • 0

条件をわかりやすく説明してください。

    • good
    • 1

質問者さんは文で言うからよくわからなくなるんです。


条件を言わないと
0.0 → ダメ
0.01~0.1  → 0.5
0.11~0.5 →1+0.0   ってことなんでしょうか?

正直、条件が分からないと、作れない。
例えを繰り返されても、条件にはなりません。
    • good
    • 1

A1に数字を記入する


B1に↓を記入する
=SWITCH(A1,4.33,"4.5",4.65,"5.0",4,"X","それ以外")
4.33→4.5
4.65→5.0
4→X
それ以外の数字→それ以外
と表示されます。
    • good
    • 0

小数点以下を0.5単位で丸める関数に、


「二捨三入,七捨八入」があります。
しかし、
> 4の答えが4.65の場合には5.0
> 4の答えが4はダメです。
は該当しないので、この関数が使えません。
なので、
貴女独自の条件に合わせての、IF分作成しかないでしょう。

> 4の答えが4.33の場合には4.5
> 4.33の答えが4.40にする事はできます。
この違いも、貴女独自の条件になっています。
    • good
    • 0

質問の通りに回答すれば、こうなります。


=IF(A1=4,"ダメ",IF(A1=4.33,"4.5",IF(A1=4.65,"5.0","")))

以上、以下と書かれていないのでね。
「エクセルの関数について質問です。 4の答」の回答画像1
    • good
    • 0

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