• ベストアンサー

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

なんて質問していいのか、いい言葉がわかりませんが・・・  日付  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/17068)
回答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% (7418/18948)
回答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

  • 関数によって空白したのを数値「0」に置き換える

    A.............B...............C 1 ZZ............6..............× 2 AA........... 1 3 BB 4 CC............3 B列にはそれぞれ関数が入っています。 セルB1には、B2、B3、B4の数値の合計です。 C1のセルには、C1数値とB2、B3、B4の数値の合計が一致しているか否かの判定する関数が 入っており、一致していなければ、"×"が表示させるようにしています。 しかし、ここで問題が起きました。 「VALUE」というエラーが表示されました。 上記の表では、セルB3は、空白になっております。 本来は、セルが空白になっている場合は、「0」が格納されていると思うのですが、 ここには、関数によって、文字列?の「空白」に置き換えられています。 例えば = IF((Z5) ,5, "") ようにです。 多分、関数によって文字列として認識される空白("")を置いたためと思います。 関数によって置き換えた空白("")を数値「0」として認識できる関数を教えてください。 いろいろな方法があると思いますが、「関数」のみで教えてください。 C1には、以下の関数が入っています。 =IF((B1) = (B2+B3+B4) ,"○","×")

  • EXCELで一行間隔の数値の合計をする関数?教えて

    タイトルの通りなのですが、一行間隔の数値データを合計する関数を教えてください。一行間隔以外のセルには他のデータが入っているのでSUM関数は使えません。

  • EXCEL関数でセルの数値の個数を求めたい

    以下のように各セルに入力されている場合に各セルに含まれる "," を除いた数字の個数の合計を求めたいのですが、どのようにすればできるでしょうか。 以下の場合ですと、 1行目 3個 2行目 2個 3行目 3個 で、8個という結果を得たいです。 LEN(substitute(A1,",","")) や (LEN(A1)+1)/2 などで一つ一つのセルに含まれる数値の個数は出せますが、列全体の個数の合計を求めたいです。 ---- 列A 行1-> 3,6,9 行2-> 2,5 行3-> 2,8,11 ※入力規則として、数値を","で区切ります。 ※列を追加して上の関数を各行に設定した上で合計を出す方法以外で。

  • エクセルで教えてください。空白が絡む計算です。

    エクセルで教えてください。 下記の表が有ります。     G    H      I      J 1 収入金額 単価 支払金額 現金残高 2             19,576 3        108 4        410 5        518   19,058 6 7        200 8        159 9       2,345 10       2,345 11       5,049   14,009 12 13 10,000         24,009 14 15       2,322 16        298 17       1,978 18       21,111 19         98 20         45 21         213 22         223 23        1,245 24              27,542   -3,533 25 Iの列はIの列で、Jの列はJの列で、それぞれ同じ関数を入れて、 この表を成り立たせたいです。 GとHの列は、手入力です。 その都度、sum関数を入れれば可能ですが、何か良い方法で 省力化したいです。 悩んでいるのは、H列の空白で区切られたところだけをI列で合計する、 G列に収入が合ったときは、J列の空白を飛ばして上にある値に加算、 G列に収入が無いときは、I列に合計を探し無いときは空白、有るときは 減算する、というからくりを関数でどうやればいいのか、わかりません。 単価は、その都度何行になるか分かりません。1行だったり10行だったり します。区切りは、必ず空白行を作るという事だけです。 宜しくお願いします。

  • エクセルの計算式に一行おきに数値をいれる

    エクセルで、計算式がはいっている表に数値をいれていきたいのですが、 別に数値が打ち込まれている表があり、 それを一行、一行コピーしてうつしていますが、 膨大な量があるので、何かいい方法はありますか? A B C D E F G・・・ 1 ○計○計○計○計 2 ○算○算○算○算 3 ○式○式○式○式 ・ ・ ・ とういう形で一行おきに○の部分に数字を入れて、 さらに、その間の計算式を使用したいです。 既にある、数値も一行おきの表になっているので、 簡単に作業する方法がありましたら、是非教えて下さい。 お願いします。

  • Excel関数を使った表計算について教えてください。

    Excel関数を使った表計算について教えてください。  E列には 1.2.3の数字がランダムに記入されている  F5:AJ40には あ・い・う・え・お がやはりランダムに記入されている(空白有り) 集計したいのは  E列 1 の行にある”あ”の数     2 の行にある”あ”の数     3 の行にある”あ”の数  同様 い・う・え・お についても集計したい 以上です よろしくお願いいたします。

  • あるセルから、同じ行の左へ数値のあるセルを20個分

    あるセルから、同じ行の左へ数値のあるセルを20個分だけを合計したいのですが、空白セル(数式自体は埋まっている)は無視して数値のある部分だけ3個拾いたいのですが、数式はどうすればよいでしょうか?

  • 「SUMIF」と「AND」関数の組み合わせについて

    2つの表があり、A列の日付が同じでなおかつ表2のB列に「9」が入っているC列の合計数を表1のBに反映し、合計数が「0」なら""空白にしたい場合の関数の組み合わせを教えてください。日付が同じだけなら「SUMIF」と「IF」関数でできたのですが、なおかつ「9」が入っているセルの合計となると上手く反映されません。「AND」関数の使い方が悪いと思うのですが、どうかよろしくお願いいたします。

  • 1セルに2つの関数を書く

     初心者です、55行のセルの数値の順位を求めるために =RANK(B10,$B$4:B$58,0)としました、セルは最低でも0(ゼロ)が入ってます。 コレで求めると 例えば5セルに0(ゼロ)以上の違った数値を入力すると 1 2 3 4 5 6 6 6・・・となってしまいます。 この例の6を空白又は(99)とか出来るような関数を1セルに書けますでしょうか。 勉強不足で申し訳ありません。

  • Excel で条件一致のデータの合計数の求め方でお教えください。

    Excelの関数でSUMIFという関数がありますが、縦横の表でこの関数を使ってある条件の合計数は求められるのですが、同じように一行の中である条件の合計数を求めようとこの関数を使っても同じ行での設定のためなのか合計数が出来ません。 どなたか、一行中に数値と項目がある場合、ある項目の合計値の算出方法をお教え頂けないでしょうか。 宜しくお願いします。

専門家に質問してみよう