• ベストアンサー

入力した値を下の列に並べる方法

お世話になります。 エクセル2010で家計簿を作ろうと思います。 A1日付 A2金額 A3項目 A4備考 上記を固定でA5以降に 日付 金額 項目 備考 〃 〃 と横に値を並べられたらと思います。 どのような計算式を入れればいいですか? 言葉足らずの分は補足はさせて頂きます。 何卒宜しくお願い致します。

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

  • ベストアンサー
  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.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

hidenakata
質問者

お礼

皆様  自分のイメージ通りです。 この画像のままデータで使用したいくらいです。 今使っているのはMac版なので 会社のWindows版でマクロ実行してみます。 ありがとうございます。

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (6)

  • soixante
  • ベストアンサー率32% (401/1246)
回答No.6

おやりになりたいことと違っていたら申し訳ありませんが、以下お試しください。 【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 + ↓ でドロップダウンリストが出ます。そこから選べば楽でしょう。 ここにない選択肢を書く必要ができた場合は手書き入力も可能です。 もしご意向と異なっていたらすみません。

hidenakata
質問者

お礼

お礼が遅くなりまして大変申し訳ありません。 配置の関係で入力を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

hidenakata
質問者

補足

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

全文を見る
すると、全ての回答が全文表示されます。
  • chonami
  • ベストアンサー率43% (448/1036)
回答No.5

A1からA4を入力枠にしたいという事でしょうか? それでしたら、表自体は1行目に見出しを作りそのままデータを蓄積していき入力時にはフォーム機能を使われてはどうでしょうか? クイックアクセスツールバーの右端の↓(ユーザー設定)→その他のコマンド→コマンドの選択から「すべてのコマンド」を選ぶ →フォームコマンドをクイックアクセスツールバーに追加させる 表の見出しのセルを一つ選び、クイックアクセスツールバーのコマンドボタンを押すとデータが入力できる画面が開きます。 そこに入力していくとB1から下にデータが入っていきます。

全文を見る
すると、全ての回答が全文表示されます。
  • bunjii
  • ベストアンサー率43% (3589/8248)
回答No.4

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

全文を見る
すると、全ての回答が全文表示されます。
  • shintaro-2
  • ベストアンサー率36% (2266/6244)
回答No.3

>例えばA5以降の範囲に「入力されているセルの下段にA1~A4の数値を入力する」 >このようなことは可能なんでしょうか? お考えのことをそのまま実行するには、マクロが必要です。 A1~A4に入力した後、表の最後の行まで飛んで、行と列とを入れ替えてコピーするというマクロで 入力後にボタンを押す等の操作が必要になります。 そのような形式でなくてもよければ、フォームを利用することによりカード型DBのような入力が可能となります。 クイックアクセスツールバーでその他のコマンド→リボンにないコマンド→フォーム を選択すればOKです 一番簡単なのは、もちろん表の下に直接入力すること TABを使えば、A5,B5,C5,E5と入力でき、リーターンでA6に移動します。

全文を見る
すると、全ての回答が全文表示されます。
  • MackyNo1
  • ベストアンサー率53% (1521/2850)
回答No.2

ご希望の操作は関数では対応できませんので、マクロを利用することになります。 ご自分でコードが書けない場合でも、「マクロの記録」で「相対参照で記録」の機能を利用すれば、最下行の下の行にデータを追加することが可能です。 たとえば、実際のレイアウトがA1:A4に項目名、B1B4にデータが入力されており、A5:D5セルに項目名が入力されているなら以下のような操作をすることになります。 開発タブの「マクロの記録」で適当なマクロ名をつけ、B1:B4セルを選択してCtrl+Cでコピーし、A1セルを選択して、Ctrl+↓のキーで(この操作だけはキーボード操作をしてください)一番下のデータ入力行を選択して、開発タブの「相対参照で記録」をクリックして、↓キーを1回押して、入力行を選択し、そのまま右クリックから「形式を選択して貼り付け」で「行列を入れ替える」を選択して「OK」して「記録終了」ボタンをクリックしてください。 このマクロをデータ入力後に実行すれば(実戦的にはシートにコマンドボタンを作成して、このボタンにマクロを登録する)、ご希望のデータベースを簡単に作成することができます。

全文を見る
すると、全ての回答が全文表示されます。
  • bunjii
  • ベストアンサー率43% (3589/8248)
回答No.1

>どのような計算式を入れればいいですか? 行と列の入れ替えになりますので計算式を使わずにコピーで貼り付け時に行列を入れ替えると良いでしょう。 貼付画像はWord 2007ですが基本的にはWord 2010も同じです。

hidenakata
質問者

補足

ありがとうございます。 A1~A4は日々の金額を入力して A5以降に実績を積み重ねて入力させたいのです。 例えばA5以降の範囲に「入力されているセルの下段にA1~A4の数値を入力する」 このようなことは可能なんでしょうか?

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • マクロで縦と横の交わるセルに値を入力したい

    現在、マクロを使って家計簿をつくっています。 いま悩んでいるのが表の中で縦と横の項目が交わるセルに特定の値を入れたいのですが、それができなくて悩んでいます。 具体的には縦には日付、横には食費などのお金を使った項目が入ります。 助けてください。お願いします。

  • Excel・収支の合計を項目別に出す

    初歩的な質問かもしれないのですが… エクセルで簡単な家計簿をつけています。 もっと使い勝手よくしたいのですが良く分からず、質問させてもらいます。 A 日付 B 項目 C 内容 D 支出 E 収入 とします。 日付順につけていく予定ですが、上の方に項目別に現在の合計金額を固定にて表示したいと考えてます。 これまで支出や収入などの一つの項目別の集計にはsumifを使用していました。 自動的に収入と支出を計算して合計を表示するには、どんな関数を使ったらよいのでしょうか?

  • Excelで一つのセルに複数の値を入力する方法

    Excelで一つのセルに複数の値を入力する方法はありますか? 現在の状況です↓ Seet1   A     B    C 1 項目1 項目2 項目3 2  Seet2   A    B   C 1 1/1  1/2   1/3 2  Sheet1のA2に1/1と入力するとSheet2のA2に項目1と入力され、 さらにSheet1のB2に1/1と入力すると Sheet2のA2に項目1項目2と二つの値が出るようにしたいのです。 今までは項目が二つだったため Aに1/1なら項目1 Bに1/1なら項目2 AとBに1/1と入力されていたら項目1項目2と出す というように無理やりIfで処理していたのですが、 項目名が増えてきたためすべての組み合わせをIfで処理できなくなってしまいました。 やはり関数では無理でしょうか?VBAは勉強し始めたばかりです。 どうか知恵をお貸しください。

  • エクセルで行ごとに繰り返しの計算の方法。A列の入力のみで。

    計算機、手書きにより行っている事務処理がありましてエクセルで処理できないものかと思い質問させて頂きました。下記の様な計算になります。     A      B      C       D   1   300    2   500     200   600     620 3   750     250    750      770 4   830     80    240      260 5   990     160    480      500 A列が基準の行になります。A1は初期値とお考えください。A2よりご説明いたします。 A2-A1=B2  B2×3=C2  C2+20=D2 この計算の繰り返しになります。 上記の計算をA列の入力だけで実行する事は可能でしょうか? エクセル初心者中の初心者でしてオートサムを最近覚えたぐらいでして、もし可能でしたらどこでどのような設定をすれば良いかご教授頂けないでしょうか。。お願いいたします。 また、計算中にあります「3,20」といった値は行ごとに変化し、他シート内のセルより引用出来ればと思っています。 合わせて他シート内セルより値を引用する事も可能でしょうか?方法等も合わせてご質問したく存じます。 質問もへたくそですみません。 どうかよろしくお願いいたします。

  • EXCELで項目ごとの金額を合計する方法

    EXCELで項目ごとの金額を合計する方法 EXCELで家計簿を作っているのですが項目ごとの金額を合計する方法を探しています。現在、1月から12月までシートごとに分けて毎月の出費、内容、日付で入力しています。 ここまではいいのですが例えば1年間に使った「食費」「光熱費」「通信費」などの合計を自動で集計する仕方を知りたいのです。計算機で合計して出せばいいのですが項目を読み取ってその金額を合計していくことはできるのでしょうか?一度テンプレートを作って毎年使いたいと考えています。 ご教授いただけたらうれしいです。 よろしくお願いします。 使用環境 Office 2004 for Mac

  • excel・セル内の数式のみ消したくない。

    お世話になっております。 「家計簿」を作っています。 セルに計算式をいれてつくりたいのですが、 たとえば、セルに入力する金額を間違って。消したりすると、(デリート) 計算式まで消えてしまいます。(涙 ほかに「計算式」のみクリアする項目を探しましたが、見当たりません。 (クリアのところに「数式と値」となっているのが妙にうらめしかったりしてしまいました(^_^;)) 計算式は消したくないのです。 計算式だけ残す方法を教えてください<m(__)m>

  • A列とB列の値の差から、ほしい行を見つけ出す関数

    お世話になります。 A列とB列に、それぞれランダムに数字が入っていて、 「A列とB列の値の差が、±5.1 以上」である行だけを知りたい場合、 どうすればいいでしょうか? (セルの値は整数だけではなくて、小数点5桁以上の場合もあります。) エクセルかロータスで、それを導き出す関数の式がわかる方、ぜひ教えてください。 表計算ソフト超初心者です。よろしくお願いします。

  • 計算した値のセルを参照する

    いつもお世話になっています。 EXCELで計算して出た値のセルを参照することはできますか? たとえば、計算によって「21」という数値が出たなら「A21」のセルを参照するということです。 よろしくお願いします。

  • [Excel] 負の値を割る計算方法について

    お世話になります。 Excelで負の値を正の値で割る計算方法がわかりません。 どなたかご教授願えますか? (例) ROUND(-530.0/20826.6*100,1) = 0.0 ← 0.0ではなく-2.5という計算結果を求めたい

  • パラメータで同じ値を入れたいとき。

    【テーブルA】 日付 名前    会員番号 0101  山田一郎  0001 0102  山田次郎  0002 【テーブルB】 日付 名前    会員番号 0101  山田三郎  0011 0102  山田四郎  0012 次のようなテーブル2つがあり、2つのテーブルの 中から、1月1日のものだけを抽出したいとします。 やり方として、 クエリAでテーブルAの日付の項目をパラメータで0101と指定しました。 クエリBでテーブルBの日付の項目をパラメータで0101と指定しました。 二つのテーブルをマージする。 という方法をとりたい。 上記の作業がやりたい場合に、いちいち、クエリAとクエリBで 同じ値を入れるのがめんどくさいので、 クエリAで数値を指定すれば、自動的にクエリBでも同じ値を入れるように できないものでしょうか。

専門家に質問してみよう