• ベストアンサー

エクセル2003 出納帳の残高の最終行を次の月の最初の行に反映させる方法

エクセル2003で、出納帳を作成しています。 残高の列(ここではF列)は、常に一定の行では終わりません。1ページ半のとき、2ページとちょっとの時、いろいろです。 そこで疑問に思ったのですが、どの行で残高の最後が来ても、その最後の数値を次の月の最初の行に反映できないか??ということです。 関数の入れればできるのでしょうか??

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

  • ベストアンサー
  • sige1701
  • ベストアンサー率28% (74/260)
回答No.6

=LOOKUP(10^17,Sheet1!F:F)

gawahann
質問者

補足

これでいけました!!ありがとうございます。 あつかましいかもしれませんが、この関数の意味を教えいただけませんかね??特に10^17の意味を知りたいのですが…

その他の回答 (6)

  • zenjee
  • ベストアンサー率47% (50/106)
回答No.7

他人様のお名回答を解説するのは大変僭越かと思いますが、補足がないようでしたので、お節介させていただくことをお許しください。(sige1701さん。すみません。) 「10^17」というのは10の17乗の意味で、まず天文学的数値です。 もし出納簿の残高が仮に100万円を上回ることが絶対にないとしたら、「10^17」のところは「10^5」でも「1000^2」でも、あるいは単に1000000でも正しい答が出ます。 つまり、「Sheet1!F:F」という配列の中に1000000という数値があるかないかを検査し、なければ一番下の行にある1000000より小さい数値を返す、という数式の意味だからです。一度いろいろ数値を変えて試算してみられるとお分かりになると思います。(失礼しました。)

  • tascany
  • ベストアンサー率48% (15/31)
回答No.5

#4です。 =INDEX(Sheet1!F:F,COUNTA(Sheet1!F:F)) の「COUNTA(Sheet1!F:F)」の部分ですが、残高を求める式があらかじめ入力されている場合、この式は使えませんね。 そこで、あらかじめ式が入力されておらず、かつ必須入力のフィールド、たとえばB列がそのような列だとすれば、 =INDEX(Sheet1!F:F,COUNTA(Sheet1!B:B)) という式を使うようにしてください。

  • tascany
  • ベストアンサー率48% (15/31)
回答No.4

Sheet1のF列で、空白でない最終行の値(ここでは残高)を他のシートに反映させる場合、たとえばSheet2のF2に、 =INDEX(Sheet1!F:F,COUNTA(Sheet1!F:F)) という式を入れてください。 式の意味は、「Sheet1のF列で空白でないセルを数え、それがたとえば50個あった場合、F列50行目の値を返せ」ということです。 ※表のフォームの都合、たとえばF1がつねに空白なら、 =INDEX(Sheet1!F:F,COUNTA(Sheet1!F:F)+1) といったふうに、INDEX二番目の引数を調整してください。

  • TinyPine
  • ベストアンサー率30% (719/2386)
回答No.3

質問内容に近い事をやっています。但し1月1ページ限定です。これに関しては2ページ目を次の月と考えれば解決出来ると思います。ただ "関数の入れればできるのでしょうか??" と書かれておられるので初心者の方では無いかと推測しております。だとすると理解出来ないかも知れません。 私の方法は関数のみで行う方法から、最近マクロに切り替えました。参考として関数版の残高計算の部分を記します。欠点は最終記入行から帳簿の最終まで残高が表示されてしまう点で、それがいやでマクロで解決させました。 残高の項目を以下の様にする。各行にコピーしておく。 ここではBが入金、Cが出金、Eが残高 =E9+IF(ISNUMBER(B10),B10,0)-IF(ISNUMBER(C10),C10,0) 次の月の最初の残高のところは以下の様にする。 この場合、34行目が最終行'9月'は前月のシート名 ='9月'!B34

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

出納帳で普通に出てくるニーズですが、よく考えるとよい回答を知らなかったことに気づきました。 データ例 Sheet1のC列C2から 123 ・・・ 34 とします。 これはC列に式 =IF(OR(A2<>"",B2<>""),C1+A2-B2,"") があり、そのような結果になっているとします。(前残+入金ー出金=当残) たとえば、第20行が、入力する最下数として 第21行C21に =COUNTBLANK(C2:C20) と入れる。C20までの空白行数が出る。 Sheet2のC2に =INDIRECT("sheet1!c"& 19-Sheet1!C21+1) と入れる。 これで34が入ります。 34のあとにデータを追加するとSheet1のC列データ部の最下行の値に変わります。 もっとよい回答があるような気もしますが、とりあえず上げます。

  • 0913
  • ベストアンサー率24% (738/3034)
回答No.1

たしか、コピペで出来ると思います。

関連するQ&A

専門家に質問してみよう