こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

エクセルの関数

エクセルで家計簿を作っています。

A列に1日から31日までが入力されていまして、B列以降に食費などの収支を入れています。
そして、Q列からは違う表を作っていまして、新聞代などの固定費の支払日や項目・金額を入れています。

A列の、たとえば20日がA20だとしますと、V20のセルに、
支払日と同じ日かそれ以降にあたる固定費の金額の合計を表示させたいのです。
図で示しますと、

 Q     R     S
支払日  項 目  金 額
 10   新聞代  \3200
 15   電気代  \4000
 26   携帯代  \8000

と、固定費が表になっています。

 A     B    ・・・  V
日 付  食 費  ・・・支払日が過ぎた固定費の累計
 1            \0
 2            \0
 ・            ・
 ・            ・
 ・            ・
 10           \3200
 11           \3200
 12           \3200
 ・            ・
 ・            ・
 ・            ・
 15           \7200
 16           \7200
 ・            ・
 ・            ・
 ・            ・
 25           \7200
 26           \15200
 27           \15200
 ・            ・
 ・            ・
 ・            ・

長い図になってしまいました^^;

V列にはどのような式を入れたら良いでしょうか
よろしくお願いします

投稿日時 - 2003-05-03 11:24:26

QNo.538110

困ってます

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

こんにちは。

先頭行はタイトル行として、セルV2 に下記を入れて下にコピー

=SUM(IF(ISNA(VLOOKUP(A2,$Q$2:$S$4,3,0)),0,VLOOKUP(A2,$Q$2:$S$4,3,0)),V1)

これで良いでしょうか?

同じシート内で、A列 ~ と Q列 ~ は行に対応がないのに、V列 は A列 の日付に対応した行なんですか?データの持ち方がちょっと謎ですのでハズしているかも。

投稿日時 - 2003-05-03 14:49:41

お礼

ご回答ありがとうございました
この式で出来ました!

V列は、違う列で入れる関数に利用する列なんです。
「表示しない」にするつもりの列なので、間に違う表が挟まっても問題無いんです。。。^^;

ISNA関数、さっそく調べて自分でも活用できるようにしたいと思います。
ありがとうございました

投稿日時 - 2003-05-04 12:54:24

このQ&Aは役に立ちましたか?

1人が「このQ&Aが役に立った」と投票しています

回答(4)

ANo.4

VLOOKUP関数のTRUE型を使います。
理解してもらうために、簡略化した例で説明します。
(1)(固定費)テーブルの作成
D1:E4に
10
220
515
610
を作ります。1-6は日と考えてください。
(2)(固定費)累計の算出
F1セルに0を入れる
F2セルに関数式=F1+E2を入れF4まで複写する。
(+ハンドルを下へ引っ張る)
D1:F4は
100
22020
51535
61045
となり、F列に累計が出ます。
(3)A1:A7までに1,2,3,4,5,6,7を入れる。
日にちの積もりです。
B1に関数式
=VLOOKUP(A1,$D$1:$F$4,3,TRUE)を入れます。
(絶対番地にすること、第3列にすること、TRUE
にすることが注意点です)
B7まで+ハンドルを引っ張って、式の複写をする。
すると、A1:B7は
10
220
320
420
535
645
745
となります。これで良いでしょう。本番データで同じことをやって見てください。

投稿日時 - 2003-05-03 20:27:10

お礼

ご回答ありがとうございました

固定費テーブルを作成する際に、あらかじめA列を日付順に並べ替えをする必要があるのですね。

今回の質問で得た知識はとても勉強になりました。
ありがとうございました。

投稿日時 - 2003-05-04 13:07:06

ANo.2

内容が 不明な点があるので こうしたほうがいいということをいいます。

まず、何をもって固定費と判断するかですね。
それがちょっと不明です。

なので S列に入ってるものを固定費とみなすことにします。
つまり、固定費が発生していない日は 0という値が
S列にセットされているものとしてです。

V1のセルには
=S1
V2のセルには
=sum($s$1:s2)
V2をコピーして V3以降V31ぐらいまで 選択して
貼り付けとします。
こんなんで どうでしょうか?

投稿日時 - 2003-05-03 11:48:15

お礼

ご回答ありがとうございました。
説明が下手ですみません。
No.1の方へのお礼文に少し補足させていただきました。
(補足欄を使わずに申し訳ありません)

どうぞ再度のご回答をよろしくお願いします

投稿日時 - 2003-05-04 12:41:12

ANo.1

見出し行が1行目に、1日が2行目にあると思います。
1.セルV2に式[=sum(R$2:R2)を入力する。
2.セルの右下の黒い四角をドラッグして31日まで
   引っ張ってコピーする。

これで1日には1~1日、5日には1~5日の
R列の合計が計算されます。

投稿日時 - 2003-05-03 11:46:49

お礼

ご回答ありがとうございました

やっぱり私の説明不足だったようですm(__)m
例えばA15が15日だとすると、V15には
Q列にある日付から15日以降になっているセルを探して、その行のS列の金額とV14の金額をプラスした金額で表示させたいのです。。。

簡単に説明できなくてスミマセン^^;

投稿日時 - 2003-05-04 12:35:18

あなたにオススメの質問