よねさんのWordとExcelの小部屋 なんでも掲示板

HOME HELP 新規作成 新着記事 ツリー表示 トピック表示 検索 過去ログ

ツリー一括表示

Nomal NO TITLE /ヘルプ (17/11/04(Sat) 23:30) #13206
Nomal Re[1]: セル位置で合計を求める /よねさん (17/11/05(Sun) 08:10) #13207


親記事 / ▼[ 13207 ]
■13206 / 親階層)  NO TITLE
□投稿者/ ヘルプ -(2017/11/04(Sat) 23:30:01)
    いつも参考にさせてもらっています。
    わからないことがあり質問させてください。

       A    B   C   D   ・・・
    1 品種   11/1 11/2  11/3  ・・・
    2 りんご  100  150  100   ・・・
    3 みかん  200  230  250   ・・・

    上記のように収穫数があるとします。
    日付と収穫数は無限にあるとします。

    日付指定した期間だけの収穫数の合計を求めたいです。

    例えばりんごの11/3から11/15までの収穫数の合計。

    マクロを使わず関数のみで求めたいです。

    お手数ですがよろしくお願いします。
[ □ Tree ] 返信/引用返信 削除キー/

▲[ 13206 ] / 返信無し
■13207 / 1階層)  Re[1]: セル位置で合計を求める
□投稿者/ よねさん -(2017/11/05(Sun) 08:10:57)
    2017/11/05(Sun) 08:16:30 編集(投稿者)
    このご質問は
    Excel(エクセル)基本講座:OFFSET関数の使い方
    http://www.eurus.dti.ne.jp/~yoneyama/Excel/kansu/offset.htm
    ↑のページの問題2が質問に近いものです。
    
    質問では「りんご」と期間「11/3から11/15まで」がどのセルに入っているのかがわかりませんので、数式中に書いています。
    
    =OFFSET(基準,行数,列数 [,高さ,幅])
    基準 A1
    行数 A2:A5にりんご、みかん・・・といった品種が入力されているとします。
    りんごの行位置をMATCH("りんご",$A$2:$A$5,0) で求めます。
    
    列数 B1:R1に日付が順番に入力されているものとします。
    2017/11/3が入力されている列位置を  MATCH("2017/11/3"*1,$B$1:$R$1,0) で求めています。
    "2017/11/3"*1 はシリアル値にするために*1としています。DATEVALUE("2017/11/3")と同様の結果です
    
    高さ リンゴの行は 1行ですので 1 とします。
    
    幅 2017/11/15の列位置と2017/11/3の列位置から求めることができます。
    MATCH("2017/11/15"*1,$B$1:$R$1,0)-MATCH("2017/11/3"*1,$B$1:$R$1,0)+1 となります。
    
    よって、求める値の合計は↓の数式で求めることができると考えます。
    
    =SUM(OFFSET($A$1,MATCH("りんご",$A$2:$A$5,0),MATCH("2017/11/3"*1,$B$1:$R$1,0),1,MATCH("2017/11/15"*1,$B$1:$R$1,0)-MATCH("2017/11/3"*1,$B$1:$R$1,0)+1))
    
    (追加)
    エクセル関数の技:合計する関数の技(2/2)の「あるセルを基準にセル位置で合計する」にも
    簡単な例があります。
    http://www.eurus.dti.ne.jp/~yoneyama/Excel/waza/goukei2.html#offset
    
    

[ 親 13206 / □ Tree ] 返信/引用返信 削除キー/


Pass/

HOME HELP 新規作成 新着記事 ツリー表示 トピック表示 検索 過去ログ

- Child Tree -