電子書籍の厳選無料作品が豊富!

お世話になります。
エクセル2010で家計簿を作ろうと思います。
A1日付
A2金額
A3項目
A4備考

上記を固定でA5以降に
日付 金額 項目 備考



と横に値を並べられたらと思います。
どのような計算式を入れればいいですか?
言葉足らずの分は補足はさせて頂きます。
何卒宜しくお願い致します。

A 回答 (7件)

こんにちは!



他の方々が仰っているようにVBAになってしまいますね!
一例です。
↓の画像のような配置だとします。
(1行・1列ずれてもめちゃくちゃな反応になりますので、表のレイアウトは画像通りとします

画面左下の操作したいSheet見出し上で右クリック → コードの表示 → VBE画面に
↓のコードをコピー&ペーストしてB1~B4(B4セルは任意)に入力しマクロを実行してみてください。
(Alt+F8キー → マクロ → マクロ実行です)

Sub Sample1() 'この行から
With Range("B1:B4")
.Copy
Cells(Rows.Count, "A").End(xlUp).Offset(1).Select
Selection.PasteSpecial Paste:=xlPasteAll, Transpose:=True
.ClearContents
Range("B1").Select
End With
End Sub 'この行まで

※ Sheet上にコマンドボタンを挿入し、
クリックしてマクロを実行する方法もあります。m(_ _)m
「入力した値を下の列に並べる方法」の回答画像7
    • good
    • 0
この回答へのお礼

皆様 

自分のイメージ通りです。

この画像のままデータで使用したいくらいです。

今使っているのはMac版なので

会社のWindows版でマクロ実行してみます。

ありがとうございます。

お礼日時:2013/10/16 16:19

おやりになりたいことと違っていたら申し訳ありませんが、以下お試しください。



【1】A1セルに「日付」、A2セル「金額」、A3セル「項目」、A4セル「備考」と入れる。
【2】A1:A4 を選択し、Ctrl+C (=コピー)
【3】A5セルを選択し、Alt+E、S、Alt+E (=形式を選択して貼付。行列を入れ替える)
【4】Alt+F11 (マクロの画面が開きます)
【5】Alt+I、M  (真っ白の画面が開きます)

【6】以下をコピーし、この真っ白画面に張り付ける。

Sub aaa()
Dim r As Integer, Lstrow As Integer
Lstrow = Cells(Rows.Count, 1).End(xlUp).Row + 1

Range("B1:B4").Copy
Cells(Lstrow, 1).PasteSpecial Transpose:=True

Range("B1:B4").ClearContents
Range("B1").Select

End Sub

【7】エクセルの画面に戻り、「挿入」タブから「図形▼」を押す。

【8】何でもいいですが、たとえば、「角丸四角形」を押す。

【9】どこでもいいですが、たとえば、G2セルあたりからI4セルあたりまでドラッグして四角形を置く。

【10】この四角形を選択している状態から右クリック。「マクロの登録」を押す。

【11】「aaa」を選択し「OK」

【12】 B1セルから順にデータを入力してみる。
  たとえば、「10/15、3000、食費、スーパー」 と入れてみる。入力が終わったら、いま【9】で配置したボタンを押す。

【13】6行目に転記されました。そして前の入力データはクリアされ、セルがB1に戻りました。

【14】次のデータを入れてみる。たとえば、「10/15、1500、交通費、バス」と入れてみる。
 入力が終わったら、同じくボタンを押す。

【15】すると、7行目に転記されました。
以降同じです。

【16】名前を付けて保存。その場合のファイルの種類は「Excelマクロ有効ブック」を選んでください。


※ボタンの色とか、ボタンに書く文字だとかは、ボタンを右クリックしてお好みでいじっていただければと思います。

※おそらくデータが増えてくると、冒頭のA1~A4が見えなくなっていくので、A6セルを選択したうえで、Alt+W,F,F (ウィンドウ枠固定)をしておいたほうがよいと思います。(解除するにはもう一度同じことを)

※大きなお世話かもしれませんが、B3セル(項目)は、ある程度同じパターンもあるでしょうから、あらかじめ選択肢をセットしておくと楽ちんです。

【1】B3セルを選択。Alt+D,L (入力規則)
【2】「入力値の種類」 は 「リスト」 を選択。
【3】一番下の「元の値」に選択肢を書きます。それぞれ、カンマ(英数半角)で区切って書きます。
  たとえば、

    食費,光熱費,雑費,通信費

   と書いてみます。(適宜あなたの項目に合わせてください)
【4】   「エラーメッセージ」のタブを選び、「無効なデータが~」のチェックは外しておいてもいいでしょう。それでOK。

そうしますと、入力の際にこのセルに来ますと、セルの右側に▼が出ますから、Alt + ↓ でドロップダウンリストが出ます。そこから選べば楽でしょう。
ここにない選択肢を書く必要ができた場合は手書き入力も可能です。

もしご意向と異なっていたらすみません。

この回答への補足

度々すみません・・・

H13 日付
H14 金額
H15 項目
H16 備考
となっています。

35行目というより
H13(日付)を入力しないと下の行に追加されません。
H14(金額)を入力したら下の行に追加していくにはどのようにすればいいでしょうか?

補足日時:2014/06/24 14:33
    • good
    • 0
この回答へのお礼

お礼が遅くなりまして大変申し訳ありません。

配置の関係で入力をH13:H16にしました。
そして下記のように書き換えました。
一つ問題がありまして・・・
マクロを実行し下の行に入力されていくようになりました。
しかし35行目までしか入力されず、35行目は上書きされるだけです。
36行目以降もデータを入力するにはどうすればいいですか?
お手すきの際ご教授頂ければ幸いです。
何卒宜しくお願い致します。


Sub aaa()
Dim r As Integer, Lstrow As Integer
Lstrow = Cells(Rows.Count, 1).End(xlUp).Row + 1

Range("h13:h16").Copy
Cells(Lstrow, 1).PasteSpecial Transpose:=True

Range("h13:h16").ClearContents
Range("h13").Select

End Sub

お礼日時:2014/06/24 14:22

A1からA4を入力枠にしたいという事でしょうか?



それでしたら、表自体は1行目に見出しを作りそのままデータを蓄積していき入力時にはフォーム機能を使われてはどうでしょうか?

クイックアクセスツールバーの右端の↓(ユーザー設定)→その他のコマンド→コマンドの選択から「すべてのコマンド」を選ぶ
→フォームコマンドをクイックアクセスツールバーに追加させる

表の見出しのセルを一つ選び、クイックアクセスツールバーのコマンドボタンを押すとデータが入力できる画面が開きます。
そこに入力していくとB1から下にデータが入っていきます。
    • good
    • 0

>例えばA5以降の範囲に「入力されているセルの下段にA1~A4の数値を入力する」


>このようなことは可能なんでしょうか?
A1からA4入力したデータをA5からD5のセルへ自動的に表示させることは可能ですが、入力する度に表示する行を変更することは計算式ではできません。
私はVBAを学習していませんので分かりませんがVBAを使えば処理可能と思います。
各セルに関数式(計算式)を設定するのはそのセルにどんな値を格納するかを指定することなので、「A1セルに入力された値をA5セルにコピーしなさい」と言う命令は設定できません。
従って、VBAのようなプログラム言語を使って目的の作業をさせることになります。
VBAを使っても少々面倒な論理を考えないと処理できないと思います。
    • good
    • 0

>例えばA5以降の範囲に「入力されているセルの下段にA1~A4の数値を入力する」


>このようなことは可能なんでしょうか?

お考えのことをそのまま実行するには、マクロが必要です。

A1~A4に入力した後、表の最後の行まで飛んで、行と列とを入れ替えてコピーするというマクロで
入力後にボタンを押す等の操作が必要になります。


そのような形式でなくてもよければ、フォームを利用することによりカード型DBのような入力が可能となります。

クイックアクセスツールバーでその他のコマンド→リボンにないコマンド→フォーム を選択すればOKです

一番簡単なのは、もちろん表の下に直接入力すること
TABを使えば、A5,B5,C5,E5と入力でき、リーターンでA6に移動します。
    • good
    • 0

ご希望の操作は関数では対応できませんので、マクロを利用することになります。


ご自分でコードが書けない場合でも、「マクロの記録」で「相対参照で記録」の機能を利用すれば、最下行の下の行にデータを追加することが可能です。
たとえば、実際のレイアウトがA1:A4に項目名、B1B4にデータが入力されており、A5:D5セルに項目名が入力されているなら以下のような操作をすることになります。

開発タブの「マクロの記録」で適当なマクロ名をつけ、B1:B4セルを選択してCtrl+Cでコピーし、A1セルを選択して、Ctrl+↓のキーで(この操作だけはキーボード操作をしてください)一番下のデータ入力行を選択して、開発タブの「相対参照で記録」をクリックして、↓キーを1回押して、入力行を選択し、そのまま右クリックから「形式を選択して貼り付け」で「行列を入れ替える」を選択して「OK」して「記録終了」ボタンをクリックしてください。

このマクロをデータ入力後に実行すれば(実戦的にはシートにコマンドボタンを作成して、このボタンにマクロを登録する)、ご希望のデータベースを簡単に作成することができます。
    • good
    • 1

>どのような計算式を入れればいいですか?


行と列の入れ替えになりますので計算式を使わずにコピーで貼り付け時に行列を入れ替えると良いでしょう。
貼付画像はWord 2007ですが基本的にはWord 2010も同じです。
「入力した値を下の列に並べる方法」の回答画像1

この回答への補足

ありがとうございます。
A1~A4は日々の金額を入力して
A5以降に実績を積み重ねて入力させたいのです。

例えばA5以降の範囲に「入力されているセルの下段にA1~A4の数値を入力する」
このようなことは可能なんでしょうか?

補足日時:2013/10/16 09:39
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!