- ベストアンサー
Excelで出納帳を作成する際の注意点
- Excel(エクセル)で出納帳を作成する際、日付の設定に注意が必要です。
- 日付の設定が正しく行われていないと、データの表示や並び替えに問題が生じる可能性があります。
- また、行を挿入する際に計算式が自動的に入力されるようにすることも重要です。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
・日付入力 年と月日だけの列を作って、計算式で 年セル=IF(MONTH(日付セル)<4,2017,2016) 月日セル=TEXT(日付セル,"mmdd") として、日付セルでなく、年セル&月日セルで並び替えすればいいのでは? それ以外だと、日付セルの入力後にマクロで年を変更するようにするしかありません。 ・数式自動セット こちらは、行挿入後にマクロで、数式をセットすればよいかと。。。 でも数式は収入セルがE2~,支出セルがF2~,残高セルがG2~として G2=IF(COUNT($E2:$F2)=0,"",SUM($E$2:$E2)-SUM($F$2:$F2)) で対応できます。
その他の回答 (1)
- imogasi
- ベストアンサー率27% (4737/17069)
http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1483678629 に説明されている通り、年の入力を省略すると本年と解釈して日付がきまる。 これを修正する「設定」(任意年に)のような仕組みはないはず。(全シートでも、1シート全体設定も1シートのセル範囲に設定もない) セルの「値!」(この意味わかるかな?、セルの「表示形式」の問題ではない)の問題だから、表示形式をいじくってもダメ。エクセル設計者がユーザーの便利とおもってやっていることが、ある時のユーザーには、都合が悪いという例でしょう。どうしようもないので 、別途の途を探るほかない。 ーー ・手数でも年の4桁(または西暦の下2ケタ)最初に入力することだ。2016/12/1や16/2/3 ・例えばC1に2016と入れておいて 関数で=DATE(C1,12,3) のような使い方もある。 年、日付、火列の入力を別列にして、DATE関数で日付シリアル値(この意味わかる?)化する ーー あくまで参考(普通ここまでやらない) VBAを使う人なら、下記を考えるかもしれない。 A列に日付を入れるとして、そのとき セルのChangeイベントに Private Sub Worksheet_Change(ByVal Target As Range) Application.EnableEvents = False MsgBox "入力" & Target If Month(Target) > 3 Then ’4月以後なら、前年に変えてしまう Target = DateSerial(Year(Target) - 1, Month(Target), Day(Target)) MsgBox "出力" & Target End If Application.EnableEvents = True End Sub
お礼
返信が遅くなり申し訳ございません。迅速でご丁寧な回答ありがとうございました。シリアルとVBAは使ったことがないため分かりませんでした。
お礼
返信が遅くなり申し訳ございません。迅速でご丁寧な回答ありがとうございました。 年セル=IF(MONTH(日付セル)<4,2017,2016)をオートフィルして、日付を入力していないセルの値(2016もしくは2017)を隠しておく方法はありますか? また、年セル=IF(MONTH(日付セル)<4,2017,2016)の数式自動セットはできますか?
補足
年セル=IF(MONTH(日付セル)<4,2017,2016)をオートフィルして、日付を入力していないセルの値(2016もしくは2017)を隠しておく方法はありますか? また、年セル=IF(MONTH(日付セル)<4,2017,2016)の数式自動セットはできますか?