• ベストアンサー

エクセルでの関数教えてください

今、関数を使って表を作っていますが、うまくいかないので教えてください。 日々数字を入力した表を月末に報告するのですが、報告書にはルールがあり、1月に30を超えた場合その日以降は空欄にしなければならないのです。 私の考えた報告書は、日々の入力表と同じものを別のシートに作成し、前日までの合計が30に達していなければ当日入力した数字を表示するというものです。 =IF((SUM(1日:前日))<=30,当日の数字,"") この計算式でばっちり!と思っていたら、例えば前日までで29のときに当日が2以上の数字がはいると29までしか集計できないことに気づいてしまいました。 昔々、関数を勉強した(ってほどではないんですけど・・・)ときには、IFをたくさんつけて条件を増やした記憶があるのですが、どのようにつなげていけばいいのかすっかり忘れてしまいました。 この表の提出期限は明日の朝一番なのですが、手元に参考書もなく途方にくれています。 日々入力するする数字は0~3までなのですが、いい計算式がありましたらぜひ教えてください。

  • ikako
  • お礼率100% (21/21)

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

  • ベストアンサー
回答No.6

=IF((SUM(1日:当日))<=30,当日の数字,IF(30-SUM(1日:前日)>=0,30-SUM(1日:前日),0)) でしょう! 最初のIFで当日まで合計して、30との差分を出すとき(後ろのIF)では前日までの合計を使う事に注意。

ikako
質問者

お礼

ご回答ありがとうございます。 うまく表示されました! 無能な私にも意味がよくわかる計算式です。 おかげさまで、無事表を作成することができました。 また別の報告書の書式も頼まれてしまいましたが・・・。 またわからないことがあったら教えてください。

その他の回答 (6)

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

#4のお礼の例で A3に ==IF(A2<=5,A2,5) B3に =IF(SUM($A$2:B2)<=5,B2,IF(SUM($A$2:A2)>=5,0,5-SUM($A$2:A2))) C3より右列は式を+ハンドルを引っ張って複写する。 B3だけは別にせざるを得ないところがミソでしょうか。 結果はA3:F3は 2 0 1 1 1 0

ikako
質問者

お礼

ご回答ありがとうございます。 こういう方法もあるのですね。 計算式は結構奥が深いものなのですね。 少し頭が良くなった気がします。 基本的にyasinomisenzaiさんの式で作成させていただきましたが、一箇所だけimogasiさんの計算式を入れていることは、私だけの秘密です。 本当にありがとうございました!

回答No.5

これではどうでしょう?(意地になってきました^^;) 各日の報告数を計算する式として、 ~~~~~~~~~~~~~~~~~~~~~~~~ =IF(SUM(1日の実施数:当日の実施数)>30,IF(SUM(1日の実施数:前日の実施数)<30,30-SUM(1日の実施数:前日の実施数),0),当日の実施数)

ikako
質問者

お礼

たびたびありがとうございます。 入力してみたのですが、エラーが出てしまいました。 何とか表は完成させることができました。 ご協力感謝いたします。

回答No.4

#1のものです。 ちょっと勘違いかもしれませんが、 前日までの合計+当日=当日までの合計→表示 27+0=27→空欄 27+1=28→1 27+2=29→2 27+3=30→3 28+0=27→空欄 28+1=28→1 28+2=30→2 28+3=31→2 29+0=29→空欄 29+1=30→1 29+2=31→1 29+3=32→1 ということでしょうか? であれば、以下のような式になるのかと思います。 =IF((SUM(1日:当日))>30,30-(SUM(1日:当日)),IF(当日=0,"",当日の数字))

ikako
質問者

お礼

なんどもありがとうございます。 日付の欄には合計は入りません。 たとえば欄が少ないので、MAXが5だとすると 日付→ 1 2 3 4 5 6 計 実施→ 2 0 1 1 2 1 7 報告→ 2 0 1 1 1 0 5 というふうになってほしいのです。 混乱させてしまい申し訳ございません。

回答No.3

=IF((SUM(1日:前日))<=30,当日の数字,IF(当日の数字=0,"",1)) で出来そうですか?

ikako
質問者

お礼

こんな時間にアドバイスありがとうございます。 残念ながら、日々の入力どおり表示されてしまいました。 でも、なんとなく先が見えそうな気がします。 このままでは明日の報告どころか、出社も危うい状況なので、締め切りを午後に伸ばしてもらうことにします。 こんなに大変だとは思いませんでした。 引き続きアドバイスお願いいたします。

回答No.2

書式メニューに「条件付き書式」というのがあると思います。 そこで、セルの値が30以上だったら文字の色を白にする、とかしてしまえばいいのでは? 急ぎだったら地道に手で作るのが近道かもしれませんね。

ikako
質問者

お礼

深夜にご回答ありがとうございます。 明日提出するのは報告書ではなく、この表自体なのです。 作業をしている社員に配布し、今月の報告に使用してもらうというものです。 結構むずかしいものなのでしょうか?

回答No.1

間違っていたらすみません。 >前日までの合計が30に達していなければ当日入力した数字を表示する のであれば、 =IF((SUM(1日:前日))>30,"",当日の数字) でだめですかね?

ikako
質問者

お礼

早速の回答ありがとうございます。 私の説明が少し悪かったようで申し訳ありません。 当日を足しても30未満であれば入力した数字そのままでいいのですが、前日までが29で当日が2だった場合は1と表示できるようにしたいのです。 もちろん0のときは空欄、1の場合は1、3の場合も1となるようにできればいいのですが・・・。

関連するQ&A

  • Excelの関数について

    Excelの関数について教えてください。 C1に50、D1に30、E1に=SUM(A1:D1)、B2に=E1-SUM(A1:B1)、が入力されています。 このB2の計算式を、「もしB1:C1のどちらか片方(もしくは両方)に値が入力されているときはB2の計算式の結果が返ってくる。B1:C1のどちらも空欄のときは「#N/A」が返ってくる。0は入力有りとみなす」というようにしたいです。 IF関数にISBLANK関数を入れてみたんですが、片方に入力有りでも「#N/A」が返ってきてしまいます。 =IF(ISBLANK(B1:C1),NA(),E1-SUM(A1:B1)) ISBLANK関数じゃダメだったんでしょうか? どういうふうに変えればいいんでしょうか? すみませんがどなたか教えてください。

  • お助け下さい【エクセルの関数】です

    簡単なIF関数なんですが… 式をど忘れしました。     A     B     C     …  456-1234   10.2    5.3      457-1235   11.5    2.7     94563    0.0     0.0 上記のような表があります。A列には記号、BC列には期間ごとの集計した数字が入ります。 A列にくる記号が94563の時のみBCの数字を0、または表示しないようにしたいのです。 通常は他のシートを参照し、BCにはAの記号の数字を計算したものがそれぞれ入ります。 BCに入る式が思いつきません。 「Aが94563なら"",94563でないならSUM(参照シートの式)」なイメージなんですが…。 IFなのかSUMIFでもできるのか忘れてしまいました。 すみませんが分かる方、教えて下さい。 宜しくお願いします。

  • エクセルのSUM関数で

    A1、B1、C1にそれぞれ数字が入っていて、D1は空欄で、E1にSUM関数で「=SUM(a4:c1)」で答えを出した後、D1に数字を入れると、勝手に計算式が更新されて、D1の数字も計算の答えに加わってしまうのですが、それを解除することはできますか?

  • エクセルでの疑問(""と" "の違い、またセル+セルとsum関数の違い)

    エクセルにおいて、スペースを挿まない""と、スペースを挿む" "の違いを教えてください。 if関数で条件が真の場合に空欄""(←スペース無し)を返して、その空欄のセルと別のセル(数字が入っている、例えば1)を加算(セル+セルであり、sumは使わない)するように計算式を組んでも、空欄のセル(ifのセル)を0と認識してくれず、その結果#VALUE!と出てしまいます。 一方、""にスペースを挿んで" "とすると、数値と認識して、加算結果は1と表示されます。 因みに、sum関数で問題のセル(ifのセル)と別のセル(例えば1)を計算すると、1という結果が返ってきます。 スペース無し("")とスペースあり(" ")の違いって一体何なのでしょうか? また、なぜセル+セルでは#VALUE!になり、sumでは#VALUE!にならないのでしょうか? 宜しくお願いします。

  • エクセルのIF関数について

    いつもお世話になります。 エクセルのIF関数について教えてください。 Aシートを入力用のシートとして使用し、別のシートに上記のIF関数を使いたいと思っています。 (1)AシートのAF15番地に数字があればその数字を返し、空欄であれば0を返す。  なおAF15番は元々は空欄で、数字を入れる場合は入力者は手動で数字を入れます。 (2)AシートのR26番地に※があれば1を返し、空欄であれば0を返す。  なおR26番地にはプルダウンリストをあらかじめ作成してあり、※か空欄かの2択になっています。 (3) 上記の(1)と(2)の合計値を別のシートのセルに返す。 【例1】AF15番地に3と入力して、R26番地は※を選択  ⇒ 4と表示 【例2】AF15番地は空欄のままで、R26番地は※を選択  ⇒ 1と表示 【例3】AF15番地に1と入力して、R26番地は空欄を選択 ⇒ 1と表示 【例4】AF15番地が空欄のままで、R26番地は空欄を選択 ⇒ 0と表示 私は、このように作ってみたのですが、エラーが出てしまいます。  =(IF(Aシート!AF15="","0",Aシート!AF15))+(IF(Aシート!R26="※","1","0")) エラーの原因を教えていただけると大変助かります。 なお(1)同士のIF関数の組み合わせは問題なく動作しました。 よろしくお願いします。

  • エクセル sumif 関数

      A    B 1 旅費  2000 2 旅費  1500 3 通信費 300 4 会議費 1600 5 旅費  800  という表があります。この中で旅費の合計を計算したいのですが、 これはsum if 関数で計算できます。だが、 例えば 1行目と5行目の旅費が塗りつぶしあります。 (A1とB1、A5toB5 が塗りつぶしてます。) この場合塗りつぶしてある旅費の合計値はエクセルの関数を 使って計算できるのでしょうか? ようは、b1とb5の合計をsum if? を使って計算できるのでしょうか? 教えていただければ光栄です。 

  • EXCELの関数について

    EXCELの関数について教えてください。 恐らくIFを使うと思っていますが、よくわかりません。 元の表 1 aa bb 空欄 空欄 空欄 2 空欄 cc これを空欄をうめたいです。 目的の表 1 aa bb 2 cc

  • Excelの関数での質問

    今、表計算をしています。1つのセルにある数字を入れると別のセルに決まった数字が出るようにしたいのですが、どの関数を使えばよいのでしょうか。 例えば、1と入力すると1000、2で1300、3で1500としていきたいのですが、間隔がまちまちなので計算式は使えません。関数の使い方など教えてください。よろしくお願いします。

  • エクセル 関数について

    歯科医院開業にあたり、キャンセルデータ集計表を作成しています。 キャンセルのあった日を合計するという主旨のものです。 キャンセルのあった日は、H.26.10.01(例)のようにセルに入力し(セル設定は文字列)、これを合計欄に数式で計算させたいのです。 単純に数字の合計であればオートサムを使うのですが。 このような場合は関数などの設定で日数を合計できますでしょうか? 詳しい方よろしくお願いいたします。

  • Excelの関数について

    Excelの初心者です。Excelの関数についてfx=IF(F5<=10,"0",IF(10<F5<30,SUM((F5-10)*20),IF(F5>=30,SUM((F5-30)*15))))という関数です。F5が10以下ならば”0”を表し、10から30まで、30以上ならばそれぞれの数式の答えを表してほしいのですが、10から30までの数字をF5に代入しても”FALSE”がでてきます。関数が間違えているのでしょうか。よろしくお願い致します。

専門家に質問してみよう