はじめまして、こんばんは。
いろんな方の質問と回答を参考に現金出納帳を作成中です。
出納帳の様式を
A B C
収入 支出 残高
として、C1には繰越残高を、C2に、
IF(AND(A2="",B2=""),"",C1+A2-B2)
と入力し、C2の式をC列にコピーしました。
A列、B列どちらかに値があるとうまくいくのですが、
一度、A列、B列ともに空白の行を参照してしまうと、
C列は空白のセルになり、それ以降のC列に上の式が
通用しなくなり、#VALUE!になってしまいます。
この場合は、この式にさらに、関数を追加しなければいけないのでしょうか?
それか、もっと簡単にできるコピーできる式があるのでしょうか?
どちらでも構いませんので是非教えてください。
よろしくお願いします。
No.1
- 回答日時:
>>IF(AND(A2="",B2=""),"",C1+A2-B2)
~~~ここがブランクの原因。
IF(AND(A2="",B2=""),C1,C1+A2-B2)
これで上のセルの数値が入ります。
早々のご回答ありがとうございます。
教えていただいたとおりで、できました!!
書類の提出期限が迫っており、とても困っていたので本当に大感謝です。
欲張って質問させていただくと、これでさらにA列B列ともに空白セルの場合C列にも値が入らないようにすることはできるでしょうか?
現状は、A列B列どちらかに値が入っているセルがほとんどなのでC列でダブった値をクリアするだけで十分なのですが、とても勉強になるので教えていただければ幸いです。
No.2
- 回答日時:
=IF(AND(ISBLANK(A2),ISBLANK(B2)),"",$C$1+A2-B2)
A列,B列 空白の場合です。
ご回答ありがとうございます。
教えていただいた式でやってみました。
A列B列が空白の時はC列も空白になり、見た目は理想どおりなのですが、C列にこの式をコピーしていくと$C$1と絶対番地なので残高がすべてC1セルを基に計算してしまうようです。
そこで$を外すとやはりエラーになってしまいます。説明が解りづらくすみません。この式も参考にさせていただき何とか応用をきかせて頑張ってみますね。
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.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行と使ってしまった箇所があるんです。そのため収入、収支セルに空白が発生してしまいました。要領が悪いんですね・・
お探しの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ランキング
-
エクセル初心者です 関数の入れ...
-
【関数】先頭だけにある、半角...
-
エクセル 白黒印刷で白線を印刷...
-
Excelのチェックボックスの使い...
-
【関数】適切な文字数の数字を...
-
Excelのpivotについて質問です
-
Excel ピボットテーブルで日付...
-
LOOKUP関数を使えばいいのでし...
-
エクセル関数を教えてください
-
エクセルのセルに同じ大きさの...
-
UNIQUE関数が使えないバージョ...
-
excelの不要な行の削除ができな...
-
エクセルで「-0.0」と表示さ...
-
時間によってファイル名が変わ...
-
WPS OFFICEでの縦書きについて
-
エクセルの関数について教えて...
-
Aというブックの1というシート...
-
【マクロ】シート名を取得する...
-
VBA Private Sub Worksheet_Cha...
-
VBA、Excelのworkbook.open に...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Excel 2019 のピボットテーブル...
-
[関数得意な方]教えて下さい・...
-
Excelにてある膨大なデータを管...
-
[関数について]わかる方教えて...
-
Excel初心者です。 詳しい方、...
-
excelの不要な行の削除ができな...
-
エクセル関数に詳しい方教えて...
-
INDIRECTを使わず excelで複数...
-
[オートフィルタ]で抽出された...
-
エクセルの神よ、ご回答を! エ...
-
エクセル関数に詳しい方、教え...
-
各ページの1番上の表示について
-
Excelで写真のような表を作った...
-
エクセルで不等号記号(≠)が上に...
-
数学 Tan(θ)-1/Cos(θ)について...
-
Excel 2019 は、SPILL機能があ...
-
Excelで全角を半角にしたいので...
-
条件付き書式を教えてください
-
Excel フィルターを掛けた状態...
-
[オートフィルタ]の適用範囲の...
おすすめ情報