
こんにちは。
エクセルで現金出納帳を作成しています。
例えば・・・
A列 B列 C列 D列 E列
1 日にち 科目 収入 支出 残高
2 10/1 光熱費 10000
3 10/2 給料 200000 190000
4 ・・・・・・
E列には=IF(E2="","",IF(AND(C3="",D3=""),"",E2+C3-D3))
という数式を入れています。
後からデータを足したい時(例えば3行目に挿入)に、行挿入をすると
数式もコピーされ、以下の行の数式も更新されるようにしたいのですが、どのようにしたら良いのでしょうか。
ご回答宜しくお願い致します。
No.5ベストアンサー
- 回答日時:
#3の回答者です。
再度、書き直しておきます。ある程度Excelを使ってきた人なら、使ったことがある機能だと思いますが、行の挿入と式のコピーを同時にするのは、マクロでなくても出来ます。
# 「リスト」に変更してください。挿入すれば、式はコピーされます。
というのは、
Excelのバージョンにもよりますが、近年のバージョンなら「リスト」という機能があります。
リストは、範囲をマウスで選択してから、「データ」--「リスト」--リストの作成
です。タイトル行が、太字になったりするので、それは、気に入らなければ、書式を訂正してください。なお、そのリスト範囲にカーソルを持っていくと、ドロップダウンボタンが現れてしまいます。印刷時には現れませんが。
No.4
- 回答日時:
もう少し条件がはっきりするといいのですが…
1.行挿入した時点で挿入行と他の列が一気に自動更新されるようにしたいのですか?あるいはあとでセルをコピーする手作業が入ってもいいですか?
2.セルE2は空白ですか?繰越残高が必要と思われますが…
3.これは想像ですが行挿入したときE列の計算式の計算対象がずれるのが解決できればよいのではと思ったのですがどうでしょうか?
ちなみに「一気に自動更新」はマクロでないとできません。
No.3
- 回答日時:
こんにちは。
最初に、数式がおかしくありませんか?
収入があったときに、残高を出すのでしょうか?
------------------------------------
A B C D E
1: 日にち 科目 収入 支出 残高
2: 繰越残高 10000
3: 10月1日 光熱費 10000
4: 10月2日 給料 200000 200000
(等幅フォントでないと、ずれて見えますが、全角空白で整えています)
E3:の式です。
=IF(COUNT(C3),$E$2+SUM($C$3:C3)-SUM($D$3:D3),"")
>数式もコピーされ、以下の行の数式も更新されるようにしたいのです
それは、「リスト」に変更してください。挿入すれば、式はコピーされます。
No.2
- 回答日時:
>行挿入をすると数式もコピーされ、
これは簡単そうで簡単ではありません。マクロが必須ですし、それも本格的にやるならクラスモジュールという、あまり一般的ではない「難しめ」のテクニックが必要です。
そこで、もう少し簡単な方法を回答します(それでもマクロは必要です)
それは「A列からD列に値を入力したとき、E列に数式が入力されていなかったら、E列の一つ上のセルをコピーする」というものです。
ご要望とは多少意味が違いますが、これでも十分省力化になるのではないでしょうか
以下のマクロを現金出納帳のシートを開き「シート名タブ右クリック」→「コードの表示」で開く画面に貼り付けてください。貼り付けたら現金出納帳のシートを再び開き、行挿入して値を入力してみてください
Private Sub Worksheet_Change(ByVal Target As Range)
Dim rng, r As Range
Set rng = Intersect(Columns("A:D"), Target)
If Not rng Is Nothing Then
For Each r In rng
If Cells(r.Row, "E").HasFormula Then
Else
If r.Row > 1 Then
If Cells(r.Row - 1, "E").HasFormula Then
Cells(r.Row - 1, "E").Copy Destination:=Cells(r.Row, "E")
End If
End If
End If
Next r
End If
End Sub
なお「上のセルの式をコピー」する方式にしたのは、マクロで式を直接書き込む方式にすると、シートの式を変更したときにマクロも変更する必要があるからです。質問者さまにそれが可能かどうかわからないため「コピー」にしました。ですからE列の上のセルに式がないときは何もしません。その点はご承知おきください

No.1
- 回答日時:
エクセルを複数起動するのではなく、仮に 現金出納帳 を Aファイル コピーを持って生きたいファイルを Bファイル とすると、
1)Aファイルを開く
2)エクセルの左上にある ファイル(F) をクリックする
3)開く(O)をクリックする
4)Bファイルを開く
5)ウインドウ(W)をクリックする
6)Aファイルを選択する
※画面に出ていないときには下向きの二重のカギカッコをクリックしてください。
7)コピーする行の数字(画面一番左)を選択してコピーする。
8)Bファイルを選択して行を選択し、貼り付けする。
これでできると思います。
できなかった理由は、エクセルを複数起動させていたために数式が文字に変換されてコピーされたためだと思います。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) ExcelのIF関数について 4 2023/05/24 12:54
- Excel(エクセル) 表示形式、文字列セル(列)に数式を入力するには マクロ 1 2022/09/18 10:53
- Visual Basic(VBA) VBA 最終行まで数式をコピーする 3 2023/01/03 15:44
- Excel(エクセル) アウトラインの小計のやり方 1 2023/03/20 11:51
- Excel(エクセル) セルの値 11 2022/06/29 11:00
- Excel(エクセル) Excel2007での条件付き書式について 6 2023/05/02 10:56
- Excel(エクセル) 特定文字(数字)で行挿入、挿入された行で合計したい 2 2023/03/13 14:30
- Excel(エクセル) Googleスプレッドシートで、あるセルの値に応じて行を自動挿入したい 急いでいます! くわしい方、 3 2023/03/06 19:05
- Visual Basic(VBA) ファイル全てを .xlsm に変更したところ、プログラムが途中で落ちてしまっています 17 2022/12/07 12:03
- Access(アクセス) Accessのクエリの結果を、既存のエクセルに追加したい 2 2022/07/31 22:44
このQ&Aを見た人はこんなQ&Aも見ています
-
エクセル。行を挿入すると、関数が反映されない
Windows 10
-
エクセルで行挿入した際、自動的に計算式も入力される方法を教えて下さい。
Excel(エクセル)
-
マクロ 行挿入で数式も反映する方法
Excel(エクセル)
-
-
4
エクセルのVBAで指定した行数の追加と数式のコピー方法をご教示いただけますか?
Visual Basic(VBA)
-
5
エクセルで行挿入しても計算式がずれない方法
Excel(エクセル)
-
6
excelで、セル内に文字が入力される毎に行が自動挿入される仕組みを作りたいのですが…
Excel(エクセル)
-
7
シート保護の状態で行の追加を行いたい
その他(Microsoft Office)
-
8
エクセルで行挿入をした時に、Vlookup計算式の一部が変化しない。
Excel(エクセル)
-
9
Excelで、あるセルの値に応じて行を自動挿入したい
Visual Basic(VBA)
-
10
SUM関数、行挿入時に自動更新する?しない?
Excel(エクセル)
-
11
エクセル 行の挿入すると別シートに行が挿入され、関数も自動更新される方法
Excel(エクセル)
-
12
Excelで計算式がずれるパターンとずれないパターンを教えて下さい(絶対参照の話ではない)
Excel(エクセル)
-
13
結合したセルを含む列内で、条件付き書式として塗りつぶしたい
Excel(エクセル)
-
14
Excelでセル参照したとき、書式も一緒に持ってくるには?
Windows Vista・XP
-
15
Excel 数式の保護をしたセルを保護のままコピーする方法
Excel(エクセル)
-
16
エクセルの参照行の挿入による追加と行の削除に対応できる関数を教えてくだ
Excel(エクセル)
-
17
セルの文字を「印刷時だけ非表示」にしたいです。
Excel(エクセル)
-
18
Excelの条件付き書式を崩されたくない
Excel(エクセル)
-
19
エクセルの複数のセルを一括で絶対参照にする方法
Excel(エクセル)
-
20
特定の条件の時に行を挿入したい
Excel(エクセル)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
一つのシートの中に複数のペー...
-
エクセルで作成した縦に長い表...
-
ピボットテーブル→参照が正しく...
-
【エクセル】行挿入で数式もい...
-
WEB上の表の列コピー選択方法は?
-
エクセルVBAで、行コピーを複数...
-
Excelの数式のコピーで列移動で...
-
Excel でハイパーリンクも一緒...
-
マクロの記述をもっとシンプル...
-
西暦から和暦への生年月日の変...
-
オートフィルタのリストを順番...
-
マクロを強制的に有効にする方法
-
Excel 表から値をさがして隣の...
-
◆エクセルで行単位で重複検索し...
-
PDFからExcelに変換する時に「...
-
エクセルが表示されなくなった
-
エクセルで名簿作成中、名前順...
-
エクセルの列幅
-
Excelでセル参照したとき、書式...
-
勤続年数の平均を求めたい時の関数
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
一つのシートの中に複数のペー...
-
WEB上の表の列コピー選択方法は?
-
エクセルで作成した縦に長い表...
-
【エクセル】行挿入で数式もい...
-
Excelピボットテーブルで 総計...
-
メモ帳からエクセルに貼り付け...
-
オートフィルタのリストを順番...
-
Excelの数式のコピーで列移動で...
-
ピボットテーブル→参照が正しく...
-
Excel 表から値をさがして隣の...
-
エクセルVBAで、行コピーを複数...
-
エクセルの関数の使い方 繰越...
-
エクセルの列幅
-
エクセルのリストから欠番を拾...
-
エクセルで各ページに同じ文書...
-
ACCESSのデータをEXCELに貼り付...
-
◆エクセルで行単位で重複検索し...
-
VBA csvを100万行ずつ各...
-
Excelで検索結果をテキストボッ...
-
エクセル シートのコピーをリ...
おすすめ情報