• ベストアンサー

一番近い左側のセルの数値で計算する関数

なんて質問していいのか、いい言葉がわかりませんが・・・  日付  1  2  3  4  5  合計  ああ  20       10     30  いい 430       ●     一行目に「日付」、二行目に「ああ」、三行目に「いい」があるとして、「前日のいい」と「本日のああ」の合計を「本日のいい」の数値になるように計算したいのです。 ただし、「ああ」に毎日数値が存在するわけではありません。そして、「いい」も「ああ」に数値がない日は空白です。上の表で、黒丸の部分を出す関数とかありますか? そしてこの表は一か月分有り(日付)、ときどき「ああ」に数値がありそのつど「いい」に合計を出さなくてはなりません。本来ならすぐ左側の「いい」の数値と「本日のああ」の数値を足せばいいのですが、空白列があり、空白の頻度も決まっていませんのでやっかいです。マクロとかはわかりませんので、関数があれば教えて下さい。

質問者が選んだベストアンサー

  • ベストアンサー
  • _Kyle
  • ベストアンサー率78% (109/139)
回答No.6

#3です。補足拝見しました。 >別案ではうまくいきませんでした う~ん、なんででしょうね。 ●別案改  =IF(C2="","",SUM($C2:C2,$B3)) なら通るとか、そういう状況ですかね? …という以前に最初から「改」のようにすべきではあったんですが^^;;; --------------- >「いい」の数値が450を超えた場合、数値を0として数え、 >「G3」セルの値を20にする方法とかはありますでしょうか? それはちょいとハナシが違ってきますね ^^;;; 「いい」の数値が減ることがあるなら、 #3正案の方は使えませんから、やはり別案の方を使って、 ●別案改々A : 450キッカリのときは0にする  =IF(C2="","",MOD(SUM($C2:C2,$B3),450))   ※正味の値が480なら30を、900なら0を返します。 ●別案改々B : 450キッカリのときは450にする  =IF(C2="","",IF(MOD(SUM($C2:C2,$B3),450)=0,450,MOD(SUM($C2:C2,$B3),450)))   ※正味の値が480なら30を、900なら450を返します。 もし上述「別案改」が通らないとなると、ちょっと状況が掴めませんので、 条件付き書式でアプローチした方がよろしいかと。 ご参考まで。

kiite123
質問者

お礼

2度の回答ありがとうございます! すみません、最初の別案もうまくいきました。 あと、「450を超えたら0に・・・」も、ありがとうございます。 別案改々Aでうまくいきました。 関数をあまり使わない私にもわかりやすく教えてくださって、ありがとうございます。 ぜひとも会社で使わせていただきます。 また、何かありましたら、あつかましいようですがご指導お願いいたします。 今回はありがとうございました。

すると、全ての回答が全文表示されます。

その他の回答 (6)

  • imogasi
  • ベストアンサー率27% (4737/17070)
回答No.7

例データ 日付ー> 1 2 3 4 5 6 日々計数 20 ー 10 20 ー 40 累計 430 ー 440 460 ー 500 ーは実際は空白セル。左詰されないように仮に入れている。 見出しは、ああ、いいより私の書き方の方が判りやすいのでは? C3セルに =IF(C2="","",$B$3+SUM($C$2:C2)) と入れて、右方向に式複写。 既に同じ型の回答が出ていたらすみません

kiite123
質問者

お礼

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

すると、全ての回答が全文表示されます。
  • nattocurry
  • ベストアンサー率31% (587/1853)
回答No.5

条件付き書式もコピーできますよ。

すると、全ての回答が全文表示されます。
  • nattocurry
  • ベストアンサー率31% (587/1853)
回答No.4

(1) 「本日のああ」に数値が無くても、「本日のいい」には「前日のいい」と「本日のああ」の合計の計算式を入力する。 (2) 条件付き書式で、「本日のああ」に数値が無い場合は、「本日のいい」の文字が背景と同じになるように設定する。 「日付」のセルがA1だとして、 (1) C3に「=B3+C2」と入力。 (2) C3の条件付き書式で、条件を「数式が」「=C2=""」にして、書式で文字の色を白にする。 そのC3を右にコピー。

kiite123
質問者

お礼

なるほど、この方法でも大丈夫ですね。 でも条件付書式自体はコピーは出来ないような気が・・・。 ということは、入力のないセルは自力で消すことになりますね・・・ でも、簡単な方法も探していましたので、ありがとうございました。

すると、全ての回答が全文表示されます。
  • _Kyle
  • ベストアンサー率78% (109/139)
回答No.3

「ああ」の欄に負の値が入ることがないならば、 「いい」の行は単調に増えますからMAXで取れます。 A1セルからデータがあるとして、  C3セル : =IF(C2="","",MAX($B3:B3)+C2) として右方にフィル。 ※別案  C3セル : =IF(C2="","",SUM($B2:C2,$B3,-$B2)) ご参考まで。

kiite123
質問者

補足

ありがとうございます~!! 別案ではうまくいきませんでしたが、最初のでばっちりうまくいきました!! あと、これにもう一つ補足が・・・ 「いい」のところ(付けてくださった画像で「G3」のセルですが。 「いい」の数値が450を超えた場合、数値を0として数え、「G3」セルの値を20にする方法とかはありますでしょうか?

すると、全ての回答が全文表示されます。
  • mshr1962
  • ベストアンサー率39% (7417/18945)
回答No.2

はじめのいいの日付1にある430は入力値ですよね。 それ以降のいいの式でいいなら C3=IF(C2="","",SUM($B$2:C$2,$B$3)) としてC3を右方向にドラッグしてコピー

kiite123
質問者

お礼

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

すると、全ての回答が全文表示されます。
  • Sinogi
  • ベストアンサー率27% (72/260)
回答No.1

>本来ならすぐ左側の「いい」の数値と「本日のああ」の数値を足せばいいのですが、空白列があり、空白の頻度も決まっていませんのでやっかいです 「いい」は前月繰越+「ああ」累計なのですか? 質問文からは読み取れません。 質問文から推測するに、目的とする「いい」の計算式はわかっているが「ああ」のデータがないときには表示したくない。その方法がわからないということでしょうか? 私の推測どおりなら条件付書式設定を調べましょう。

kiite123
質問者

お礼

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

すると、全ての回答が全文表示されます。

関連するQ&A