プロが教えるわが家の防犯対策術!

例えばB列に購入店名(スーパーや病院等)
C列に種類(食費や医療費等)を入力する場合
B1に”スーパー”と入力したらC1に”食費”と自動に入るように
するにはどんな数式を使えば良いですか?
ちなみにF2に”食費”F3に”医療費”というのが
あります
なるべく簡単に教えてください。
お願いします。

A 回答 (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のセル範囲は家計簿の表に合わせて適宜修正してください。
    • good
    • 0
この回答へのお礼

回答ありがとうございます

お礼日時:2006/10/22 22:45

スーパーと入力すれば隣に食費と入ればいいのですね



Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Value = "スーパー" Then
Target.Offset(0, 1).Value = "食費"
End If
End Sub

この食費は削除して他のものに書き換えることも出来ます
    • good
    • 0
この回答へのお礼

ちょっと記号が難しいですね。。。
回答ありがとうございます

お礼日時:2006/10/22 23:47

質問の意図から若干はずれてしまいますが、


Excelで家計簿を作られるのであれば、様々なサンプルがありますよ。
マイクロソフトのOfficeオンラインサイトのテンプレートから「家計簿」で
検索したところ、36件もヒットしました。
(参考URLに検索結果を表示するURLを貼っておきました。)
いくつかダウンロードして見てみましたが、なかなか使えそうな
テンプレートがあるように思います。

もし質問者様が、Excelを勉強するために1から手作りしたい!と
いうお考えであれば、これ以上は意味をなさないのですが、家計簿を
つけたいというのが目的であれば、かなり有用かなと思います。
また勉強目的であっても、できあがったブックを見て構造を知ると
いうのは、それなりに有用だと思います。

参考URL:http://office.microsoft.com/ja-jp/results.aspx?S …
    • good
    • 0
この回答へのお礼

回答ありがとうございます

お礼日時:2006/10/22 23:46

すべてを回答するのは、大変です。



私も3/さんのやり方を勧めます。なんと言っても後のメンテが楽ですし。
スーパーだと食費ですが、JRだと交通費だったりしますよね?

まずこの項目はこの分類、という一覧表を作ります。
Vlookupという関数を使った式をC列のセルに入れて、分類の一覧表から、
C列に分類を表示させることができます。

Vlookupがキーになると思います。
ちょっと面倒かもしれませんが、よい家計簿が作れることを祈っています。
ちなみに、家計簿は毎月別のシートにしても良いですが、
月200~500行程度なら一つのシートにがんがん入れていけば、
「ピボットテーブル」を使って、月々や項目ごとの集計などが自由にできますよ。
がんばってください。
    • good
    • 0
この回答へのお礼

回答ありがとうございます

お礼日時:2006/10/22 22:45

VLOOKUPとIFとISNAを使用するとできるでしょう。


IFとISNAは使用しなくても実現できますが、
無効データのとき#N/Aと表示されてしまいます。

それぞれの関数の使い方はヘルプかネット検索してください。
    • good
    • 0
この回答へのお礼

回答ありがとうございます

お礼日時:2006/10/22 22:44

C1に下の関数をコピペして下さい。


=IF(B1="スーパー","食費","")
あとはC列に連続データとすれば、今後B列に「スーパー」と入力すればC列には「食費」とでます。
今後の用途が分からないのでとりあえず絶対参照はかけてません。
これでいいかな?

この回答への補足

ちょっと説明不足でした。
B列の何カ所にもスーパーと入れる場合があります。
そして食費と入力するたびに横(C列)に食費と表示されるように
したいです。

補足日時:2006/10/20 22:16
    • good
    • 0

IF文を使いましょう。



C1セルに、
=IF($B1="スーパー","食費","")
と入れてください。そしてC列をずっと下の方にドラッグしましょう。

スーパー・食費 以外の組み合わせでもいろいろ応用できます。

この回答への補足

ちょっと説明不足でした。
B列の何カ所にもスーパーと入れる場合があります。
そして食費と入力するたびに横(C列)に食費と表示されるように
したいです。

補足日時:2006/10/20 22:10
    • good
    • 0

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