はじめまして、こんばんは。
いろんな方の質問と回答を参考に現金出納帳を作成中です。
出納帳の様式を
A B C
収入 支出 残高
として、C1には繰越残高を、C2に、
IF(AND(A2="",B2=""),"",C1+A2-B2)
と入力し、C2の式をC列にコピーしました。
A列、B列どちらかに値があるとうまくいくのですが、
一度、A列、B列ともに空白の行を参照してしまうと、
C列は空白のセルになり、それ以降のC列に上の式が
通用しなくなり、#VALUE!になってしまいます。
この場合は、この式にさらに、関数を追加しなければいけないのでしょうか?
それか、もっと簡単にできるコピーできる式があるのでしょうか?
どちらでも構いませんので是非教えてください。
よろしくお願いします。
No.4ベストアンサー
- 回答日時:
>出納帳の様式を
> A B C
>収入 支出 残高
>として、C1には繰越残高を・・・・・
との記述がありますので、C1には「開始残高」が入力されているものと考えられます。
現金出納帳の考え方として「現在残高」は最終異動があった「前回残高」に今回の「収入」を加え「支出」を差し引くと言う考え方が自然ですのでご質問者の出納帳もそのような考え方でお作りになろうとしているのだと思います。
もうひとつの考え方として、「現在残高」は
「開始残高」に今までの「収入の総和」を加えて
「支出の総和」を差し引いたものと考えるこきともできます。
ちなみに、その考え方でC2に記述すべき関数を考えると
以下のようになります。この方式だと、ご質問者のご希望をかなえられるような気がするのですが・・・
=IF(AND(A2="",B2=""),"",SUM($C$1,+SUM(A$2:A2)-SUM(B$2:B2)))
なお、A1、B1に値が入力されていた場合は、収入、支出の各々の総和はA1、B1の値を無視して計算するようになっています。
ただ、ひとつ疑問なのが、現金出納帳で「収入」も「支出」も発生しない行というのがあるのでしょうか?
で・で・できましたぁ!思い描いていたとおりに!
私の頭は凝り固まってしまってこんな考え方は浮かびませんでした。
発想の転換?というのでしょうか。小学生の頃から算数嫌いだった私には目からウロコで、なおかつ計算式の意味も理解できました。
とても勉強になりました。
本当にありがとうございました。
ちなみに空白セルは摘要欄(A列より左側)でセル内改行や結合すると残高以降の列に作った別の項目で支障が出て、修正が大変なので2行3行と使ってしまった箇所があるんです。そのため収入、収支セルに空白が発生してしまいました。要領が悪いんですね・・
No.3
- 回答日時:
しばらく考えてみましたが、
>一度、A列、B列ともに空白の行を参照してしまうと、
>それ以降のC列に上の式が通用しなくなり、#VALUE!になってしまいます。
ということは、収入と支出が必ずしも、両方立つわけではない、という意味ですね。
そうすると、#VALUE! になるということではありませんか?
標準的にどんな式が良いのか、私にはわからないのですが、以下のような式はいかがですか?ただ、INDIRECTという揮発性関数を使用していますので、入力しなくても、保存を要求されます。
C2:~
=IF(COUNT(A2,B2)=0,"",INDIRECT("C"&MATCH(10^15,$C$1:C1,1))+SUM(A2,-B2))
COUNT(A2,B2)は、文字列の長さ 0 ("")でも、ブランクでも、同等に扱います。
今回の場合は、収入・支出の列には、文字列の長さ0は、入らないようにお見受けしました。
INDIRECT("C"&MATCH(10^15,$C$1:C1,1))
変則的ですが、最終行の数字の入っているセルを探すテクニックです。
なお、
SUM(A2,-B2)
は、表計算初期の時代の使い方で、文字列が入ると、0と扱うテクニックです。
今のところ、こんに式しか思いつきません。
ご丁寧な回答ありがとうございます。
早速やってみたのですが、うまく出来ませんでした・・
私の初歩レベルでは理解しながらというのは難しく、そのまま入力してしまったからでしょうか。
でも、いろんな技を教えていただきとても参考になりました。引き続き勉強して、色々な関数を理解できるように頑張りますね。
No.2
- 回答日時:
=IF(AND(ISBLANK(A2),ISBLANK(B2)),"",$C$1+A2-B2)
A列,B列 空白の場合です。
ご回答ありがとうございます。
教えていただいた式でやってみました。
A列B列が空白の時はC列も空白になり、見た目は理想どおりなのですが、C列にこの式をコピーしていくと$C$1と絶対番地なので残高がすべてC1セルを基に計算してしまうようです。
そこで$を外すとやはりエラーになってしまいます。説明が解りづらくすみません。この式も参考にさせていただき何とか応用をきかせて頑張ってみますね。
No.1
- 回答日時:
>>IF(AND(A2="",B2=""),"",C1+A2-B2)
~~~ここがブランクの原因。
IF(AND(A2="",B2=""),C1,C1+A2-B2)
これで上のセルの数値が入ります。
早々のご回答ありがとうございます。
教えていただいたとおりで、できました!!
書類の提出期限が迫っており、とても困っていたので本当に大感謝です。
欲張って質問させていただくと、これでさらにA列B列ともに空白セルの場合C列にも値が入らないようにすることはできるでしょうか?
現状は、A列B列どちらかに値が入っているセルがほとんどなのでC列でダブった値をクリアするだけで十分なのですが、とても勉強になるので教えていただければ幸いです。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) ExcelのIF関数について 4 2023/05/24 12:54
- Excel(エクセル) エクセル関数についてお教えください 3 2023/07/24 12:33
- Excel(エクセル) Excelの相談 4 2023/03/03 09:51
- Excel(エクセル) VBA 特定の列に入っているテキストをコピペ 2 2023/06/14 11:24
- Excel(エクセル) エクセル関数で教えて頂きたいです 3 2023/07/24 14:10
- Excel(エクセル) ある数値に対して、値を返す数式についてです 2 2022/09/13 22:06
- Visual Basic(VBA) Excel(VBA) 特定の条件に該当する行の値、書式を同じセルにコピ&ペーストしたいです 1 2022/05/21 18:18
- Excel(エクセル) エクセルの複写について 4 2022/04/10 01:02
- Excel(エクセル) WORKDAY関数 4 2023/06/08 13:23
- Excel(エクセル) エクセル 自動計算 1 2023/01/30 13:28
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルの問題です。絶対値の...
-
西暦和暦
-
エクセルで上位バイトのセルと...
-
非表示列の再表示に失敗
-
エクセルの関数の勉強の仕方
-
エクセルはエクセレントに難しい
-
xlsxファイルを保存する際にPDF...
-
エクセルの入力データと図形の...
-
Excelに詳しい方お願いいたしま...
-
ピボットテーブルという機能に...
-
半角カタカナをヘボン式ローマ...
-
Excel PowerQueryで日付の列が...
-
pdfの表をexcelにはりつけて計...
-
エクセル おすすめフォント
-
UNIQUE関数が使えないバージョ...
-
棒グラフの縦軸目盛線の間隔変更
-
(マクロ)vlookupの元データを同...
-
エクセルで特定のセルに入力が...
-
CSVファイルについて質問です。
-
Excelの数式について教えてくだ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルVBA、別ブックへ転記す...
-
エクセルでの作業計算方法について
-
時間によってファイル名が変わ...
-
【関数】適切な文字数の数字を...
-
Excelについて教えてください
-
エクセル初心者です 関数の入れ...
-
【マクロ】ファイル名の変更に...
-
UNIQUE関数が使えないバージョ...
-
エクセルの計算
-
【関数】先頭だけにある、半角...
-
Excelで、決まった行を繰り返し...
-
Excelでセルの値が同じか...
-
LOOKUP関数を使えばいいのでし...
-
Excel
-
はがきについて。
-
エクセルの条件付き書式につい...
-
エクセルのデーターが2か月前の...
-
エクセル②
-
エクセルで「-0.0」と表示さ...
-
Microsoft1Officeの互換ソフト...
おすすめ情報