• ベストアンサー

EXCELにて現金出納帳を作成中なのですが・・・

本社(手書き)現金出納帳に合わせて、当営業所でも、形式を統一する為に、現在、EXCELにて出納帳を作成中です。 大まかには、日付・科目・収入・支出・残高の欄という形ですが、 残高欄のおいて、 「その日の最後の取引の欄にのみ残高を表示させたい」 のですが、マクロを利用しなければ、無理でしょうか? 関数での対応は可能ですか? 当方、EXCELに不慣れな為、どなたか良いアドバイスを いただけませんでしょうか? 宜しくお願い致します。

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

  • ベストアンサー
  • EL-SUR
  • ベストアンサー率76% (83/108)
回答No.1

日付・科目・収入・支出・残高が A列からE列にあり、 日付順に入力されているなら、 データが2行目から始まっているとして E2:(残高) =IF(OR(A2=A3,COUNT(C2:D2)=0),"",SUM(C$2:C2)-SUM(D$2:D2)) と入れ、下にフィルコピーで試してみてください。

nekonekomi1228
質問者

補足

早速のご回答ありがとうございます。 上記試してみましたが・・・、??でした。 こちらの説明が不足しておりましたので、追記致します。 (今の出納帳の状態)                          K3(繰越残高)←欄外 A7    I7   J7   K7     日付  収入  支出  残高   という形で、 今現在、K7の欄にはIF(AND(I7="",J7=""),"",K3+I7-J7)という 数式を入れて、収入or支出の欄に金額が入っている時は、 残高表示という方法をとっています。 これだけだと、先にご質問致しました、 「その日の最後の取引の欄にのみ残高を表示させたい」 という形にはなりません・・・。 わかりづらい表現で申し訳ありません。

その他の回答 (7)

  • EL-SUR
  • ベストアンサー率76% (83/108)
回答No.8

#1、#4、#6です。 >日付(標準の数値入力) >同日の場合は、「〃」。 「標準の数値入力」というのがよくわかりませんが、 日付はシリアル値入力にしてください。 2006/2/1 とか 2/1のように入力するということです。 エクセルで日付を扱う場合の鉄則です。 どうしても日付は現状のままでいくしかないなら K7: =IF(OR(A8="〃",COUNT(I7:J7)=0),"",$K$3+SUM(I$7:I7)-SUM(J$7:J7)) と入れて、フィルコピーしてみてください。 どうしても日付は現状のままでいくしかないなら、です。

nekonekomi1228
質問者

お礼

本当に何度もご回答ありがとうございました。 こちらが無知な為、ご迷惑をお掛けいたしました。 ありがとうございました。

noname#22222
noname#22222
回答No.7

手違いですね! K6=IF(B6<>B7, L6,"") K7=IF(B7<>B8,L7,"") K8=IF(B8<>B9,L8,"") Micrsoft のテンプレートはA列=月、B列=日となっています。 そこで、上述のようにK列を設定すると、 A B K     L 4/1 ------- 500,000 4/1 ------- 420,000 4/1 421,800 421,800 3行目のみがK列にコピーされます。 ※L行をK行にコピーするのは、まあ、残高計算式の確認のためですね。 ※当然に、L6、L7、L8は残高計算式を直接に組み込んでも同じです。 ※将来、隠しL行をボタン一つで確認のために表示したのであれば、組み込みは避けた方がいいです。 <もしかして、日付はブランクですか?>

nekonekomi1228
質問者

お礼

本当に何度もありがとうございました。 まだ、完全とは言えませんが、かなり想像に近い表にはなりました。 ありがとうございます!!

  • EL-SUR
  • ベストアンサー率76% (83/108)
回答No.6

#1、#4です。 くり返しますが、 >日付は日付順になっているのでしょうか? ↑の質問に答えていただけますか。 日付順になっているなら #4の式でできると思いますが。 ホントにそのままコピーしましたか? それと日付はどのように入力していますか? 2006/2/1 とか 2/1 のようにシリアル値になるようにしていますか?  もう一度試してうまくいかないなら データの具体例を提示してください。

nekonekomi1228
質問者

補足

本当に、何度もすいません。 日付は日付順にはなっています。 ただ、 >日付はどのように入力していますか? 2006/2/1 とか 2/1 のようにシリアル値になるようにしていますか という点が、間違っていました。 手書き帳簿に合わせているので、 日付(標準の数値入力) 同日の場合は、「〃」。 『シリアル値』入力でない場合は、 この数式は、あてはならないんですよね? 本当に無知で申し訳ありません。

noname#22222
noname#22222
回答No.5

=IF(A7<>A8,L7, IF(L8<>"","",L7)) 例えば、日付が違うならば、無条件にL7をK7にコピーとなりますが... もしかしたら、 =IF(A7<>A8,L7, "") でもOKか?

nekonekomi1228
質問者

補足

ありがとうございます。 結果は・・・、 例えば、5日に3件取引があれば、 残高は、 1件目表示 2件目非表示 3件目表示 という形になりました。 何か当方の手違いでしょうか・・・。 再度、挑戦してみます。

  • EL-SUR
  • ベストアンサー率76% (83/108)
回答No.4

#1です。 日付は日付順になっているのでしょうか? 7行目からデータがあるとして K7: =IF(OR(A7=A8,COUNT(I7:J7)=0),"",$K$3+SUM(I$7:I7)-SUM(J$7:J7)) 下にフィルコピーで試してみてください。  ◇ >今現在、K7の欄にはIF(AND(I7="",J7=""),"",K3+I7-J7)という >数式を入れて、収入or支出の欄に金額が入っている時は、 >残高表示という方法をとっています。 ↑の式っておかしくないですか? K7だけに上記の式が入っていて K8: =IF(AND(I8="",J8=""),"",K7+I8-J8) K8の式を下にコピーしているならまだ理解できますけど。 質問の意味がわかってないのでしょうか?

nekonekomi1228
質問者

補足

ありがとうございます。 ご指摘のとおり、 K7の欄にはIF(AND(I7="",J7=""),"",K3+I7-J7) K8の欄にはIF(AND(I8="",J8=""),"",K7+I8-J8) を入れていました。 当初は、すべての残高欄に残高表示されても問題ないと考えて いたものですから、そのような数式を入れていたという事です。 誤解を招いてしまったようで申し訳ありません。 早速、ご回答の数式をK7へコピーしてみましたが、 例えば、5日に3件取引があれば、 残高は、 1件目表示 2件目非表示 3件目表示 という形になりました。 3件目のみ表示にする為には、他の数式があるのでしょうか? 何度も申し訳ありません。

noname#22222
noname#22222
回答No.3

s_husky です 補足します。 現行のK列を隠しL列にするということです。

nekonekomi1228
質問者

補足

早速のご回答ありがとうございます。 なんとか、ご回答者様のアドバイスの内容を理解し、 最後の残高欄にのみ、残高を表示させることができたのですが、 申し訳ありません、当方の質問の仕方が悪く、 こちらの目指す、 「その日の最後の取引の欄にのみ残高を表示させたい」 というのは、月中取引において、 例えば、8日に5件、現金取引があった場合、 8日の5件の取引の5件目にのみ、残高を表示させたいということ なのですが・・・。 可能でしょうか? 何度も大変申し訳ありません。

noname#22222
noname#22222
回答No.2

Microsoft が配布している現金出納帳のテンプレートとほぼ同じ設計のようですので... <差引残高がL列に計算されているとします> K列に差引残高を最終だけ表示するには? K7=IF(L8<>"","",L7) L列は隠し列にすれば良いでしょう。 ただし、科目名=前期繰越の場合は、=K6 です。

関連するQ&A