• 締切済み

エクセルでの数値検索方法

A列に日付が上から順に入力されており、B列には数が入力されている時、同一シート上のセルに開始日を、もう一つのセルに終了日を入れると、その期間の数の合計が表示される計算式を教えてほしい。 (イメージ)   A  B        開始日→□  1__ 1____18        終了日→□ 2__ 2____10         合 計→□   3__ 3____14 4__ 4____ 9

みんなの回答

noname#35109
noname#35109
回答No.1

INDIRECT関数を使えば一応,できます。   A  B          C 1__ 1____18        開始日→C1セル  2__ 2____10        終了日→C2セル  3__ 3____14        合 計→C3セル   4__ 4____ 9 として, C3セルに =SUM(INDIRECT("B"&C1&":B"&C2)) と書きます。 そして,C1セルに開始日,C2セルに終了日を入力すれば, 合計(C3セル)に指定日内の数の合計が出ます。 わかりにくいと思うのですが, 任意のセルに「=SUM(INDIRECT(D1))」と書いて,D1セルに「B1:B4」と書けば, B1~B4までの合計が出るのです。 これの変形バージョンで, D1セルに「B1:B4」と書くところを「"B"&C1&":B"&C2」とバラしているのです。 ====================================== 日付が飛ぶ場合は,さらにややこしくなりますが, データベース関数の,DSUM関数の方が良いと思います。 -----------------------------   A  B   C      D  1__ 日___数____日____________日 2__ 1____18____>=終了日____<=終了日 3__ 2____10____=DSUM(A:B,2,C1:D2) 4__ 3____14 5__ 4____ 9 ---------------------------- ~元の形からの変形の方法~ 1.1行目を挿入 2.A1に「日」,B1に「数」,C1に「日」,D1に「日」という文字を記入, 3.C3に「=DSUM(A:B,2,C1:D2)」を記入。 以上です。 この関数には列見出しが要るようで,「日」とか「数」とかの見出しが必要です。 C2の「>=終了日」に例えば「>=2」,D2の「<=終了日」に「<=4」, と入力すると,C3は「10+14+9」で「33」という値が入ります。 不等号が必要です。 「=DSUM(A:B,2,C1:D2)」の真ん中の ,2, は,A:Bのうち2列目という意味の2です。 ここの2を列見出しである 「"数"」 に変えてもらっても同じ結果が得られます。

関連するQ&A