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

Excel 2007にて添付のような推移表を作成しているのですが「前回差」のところで行き詰まっています。

※現在は1年生3学期の期末テストを終えてテスト結果が返されたところと仮定しています。

C5セルには単純に「=C4-B4」としているのですが、そのままでいくと、E5セル(2年生1学期)のテストを未実施ながらも前回差がマイナスで表示されてしまいます。

マイナスを表示させたくないので、
E5セルに「=IF(E4-D4=0,"",E4-D4)」のようにしてみましたがどうしてもマイナスを非表示にすることができません。

どなたかお知恵を拝借できませんでしょうか。
何卒よろしくお願いします。

「前日差の比較について」の質問画像

A 回答 (4件)

未実施に前回差を表示させない方法として と言うことでしたら


5Eに =IF(4E=0,"",4E-4D) と入力
2年1学期が 0ならば 空欄 そうでなければ 2年1学期-1年3学期 
後は これを他にコピー
ではどうですか?
    • good
    • 0

こんばんは!


大きく外しているかもしれませんが・・・

↓の画像のB5セルに
=IF(OR(B3="1学期",B4=""),"",A4-B4)

という数式を入れ、列方向にオートフィルでコピーしています。

こんなんではダメですか?m(__)m
「前日差の比較について」の回答画像4
    • good
    • 0

「マイナスを非表示」なんてすると、2年の1学期に成績が下がった


時に困りますよ。また、質問の例示では3年3学期までゼロが入力済
みですが、これではテストが未実施なのか零点取っちゃったのか区
別できませんね。もちろんisblank関数なんて使えません。区別でき
るように、未実施のテストの点はゼロでないようにすべきです。

とりあえず現状のまま、欠席しても零点はあり得ないとすれば、
E5: =if(E4,E4-D4,0)
で済みます。E4がゼロの時は未実施と判断し、差を計算せずに0を返
すわけ。if関数では条件式にゼロ以外の数値が返されると、TRUEと
同じ動作をするんです。
    • good
    • 0

=IF(E4-D4=0,"",E4-D4)じゃなく=IF(E4-D4<0,"",E4-D4)としないとおかしいです。

また、=IF(isblank(E4),"",E4-D4)とすることも出来ます。これはもしE4がブランク(空白)だったらスペースを入れると言う式です。
    • good
    • 1
この回答へのお礼

ご回答いただいたみなさま

ご回答くださり、ありがとうございます。
仕事でどうしても手が離せない状態になっていたためご連絡が遅くなり申し訳ございません。

今回みなさまよりご回答いただいた結果を一つずつ試してみました。
結果として3番目の方のご回答が一番シンプルな感じでその方法を使いたいと思います。

しかし、関数ひとつとってもいろいろな方法があることに気付くことができました。ですのでご回答いただいたみなさまそれぞれに良回答とさせていただきたいところですが、お二人までしか選べないようですので代表して1番最初にご回答いただいたTurbo415様と3番目の方を選ばせていただきます。

でもみなさまのおかげで大変助かりました。
ありがとうございました。

お礼日時:2009/11/11 19:57

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