- ベストアンサー
エクセルで家計簿
例えばB列に購入店名(スーパーや病院等) C列に種類(食費や医療費等)を入力する場合 B1に”スーパー”と入力したらC1に”食費”と自動に入るように するにはどんな数式を使えば良いですか? ちなみにF2に”食費”F3に”医療費”というのが あります なるべく簡単に教えてください。 お願いします。
- みんなの回答 (7)
- 専門家の回答
質問者が選んだベストアンサー
B1から下にいくつも購入店名を記入し、対応する右隣のC列に種類を入力させるには次のようにします。 表の枠外、例えばB100から下に購入店名と種類の対応リストを作ります。 A B C 100 スーパー 食費 101 病院 医療費 C1に次の式を入力し、必要に応じて下にコピーします。 =VLOOKUP(B1,$B$100:$C$101,2,FALSE) 家計簿のB列に購入店名を入力すると、隣のC列に種類が入力されます。 $B$100:$C$101は上で作った対応表の左上から右下のセルの番地に合わせてください。 リストへの項目追加や削除をした場合は、C1の式の$B$100:$C$101を訂正し、その式を下にコピーします。 なお、リストにない購入店名を入力するとエラー#N/Aになります。エラー表示が気になるようなら、コメントしてください。 >ちなみにF2に”食費”F3に”医療費”というのが >あります 意味がよく分かりませんが… これが、G2に食費の合計、G3に医療費の合計を入れるということであれば、D列に支出金額を入力されているとして、次のような式を入力します。 G2の式 =SUMIF($C$2:$C$3,F2,$D$2:$D$3) G3の式 =SUMIF($C$2:$C$3,F3,$D$2:$D$3) $C$2:$C$3および$D$2:$D$3のセル範囲は家計簿の表に合わせて適宜修正してください。
その他の回答 (6)
- CHRONOS_0
- ベストアンサー率54% (457/838)
スーパーと入力すれば隣に食費と入ればいいのですね Private Sub Worksheet_Change(ByVal Target As Range) If Target.Value = "スーパー" Then Target.Offset(0, 1).Value = "食費" End If End Sub この食費は削除して他のものに書き換えることも出来ます
お礼
ちょっと記号が難しいですね。。。 回答ありがとうございます
- Kazamin
- ベストアンサー率30% (17/56)
質問の意図から若干はずれてしまいますが、 Excelで家計簿を作られるのであれば、様々なサンプルがありますよ。 マイクロソフトのOfficeオンラインサイトのテンプレートから「家計簿」で 検索したところ、36件もヒットしました。 (参考URLに検索結果を表示するURLを貼っておきました。) いくつかダウンロードして見てみましたが、なかなか使えそうな テンプレートがあるように思います。 もし質問者様が、Excelを勉強するために1から手作りしたい!と いうお考えであれば、これ以上は意味をなさないのですが、家計簿を つけたいというのが目的であれば、かなり有用かなと思います。 また勉強目的であっても、できあがったブックを見て構造を知ると いうのは、それなりに有用だと思います。
お礼
回答ありがとうございます
- tgn1013
- ベストアンサー率33% (386/1137)
すべてを回答するのは、大変です。 私も3/さんのやり方を勧めます。なんと言っても後のメンテが楽ですし。 スーパーだと食費ですが、JRだと交通費だったりしますよね? まずこの項目はこの分類、という一覧表を作ります。 Vlookupという関数を使った式をC列のセルに入れて、分類の一覧表から、 C列に分類を表示させることができます。 Vlookupがキーになると思います。 ちょっと面倒かもしれませんが、よい家計簿が作れることを祈っています。 ちなみに、家計簿は毎月別のシートにしても良いですが、 月200~500行程度なら一つのシートにがんがん入れていけば、 「ピボットテーブル」を使って、月々や項目ごとの集計などが自由にできますよ。 がんばってください。
お礼
回答ありがとうございます
- __hiro__
- ベストアンサー率11% (4/34)
VLOOKUPとIFとISNAを使用するとできるでしょう。 IFとISNAは使用しなくても実現できますが、 無効データのとき#N/Aと表示されてしまいます。 それぞれの関数の使い方はヘルプかネット検索してください。
お礼
回答ありがとうございます
- kuchu2
- ベストアンサー率22% (36/160)
C1に下の関数をコピペして下さい。 =IF(B1="スーパー","食費","") あとはC列に連続データとすれば、今後B列に「スーパー」と入力すればC列には「食費」とでます。 今後の用途が分からないのでとりあえず絶対参照はかけてません。 これでいいかな?
補足
ちょっと説明不足でした。 B列の何カ所にもスーパーと入れる場合があります。 そして食費と入力するたびに横(C列)に食費と表示されるように したいです。
- motsu2006
- ベストアンサー率37% (110/297)
IF文を使いましょう。 C1セルに、 =IF($B1="スーパー","食費","") と入れてください。そしてC列をずっと下の方にドラッグしましょう。 スーパー・食費 以外の組み合わせでもいろいろ応用できます。
補足
ちょっと説明不足でした。 B列の何カ所にもスーパーと入れる場合があります。 そして食費と入力するたびに横(C列)に食費と表示されるように したいです。
お礼
回答ありがとうございます