[[20100806092638]] 『OFFSET関数について』(黒バラ) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『OFFSET関数について』(黒バラ)

 シート間で数値を転記しています。
 シート1のB2セルにシート2のB4の値を転記するために、
 SUMPRODUCT関数を使おうと思いましたが、シート2で検索する項目名(作業A)が
 セルの結合になっているのでうまくいきません。

 実績はSUMPRODUCT関数が使えるので、そのセル(シート2のB4セル)から
 OFFSET関数で隣のセルを転記しようと考えました。

 申し訳ありませんが、数式をご教授ください。

 シート1
     A       B       C
 1 項目  目標  実績
 2 作業A      =sumproduct((シート2!$A$2:$D$2=A2)*シート2!$A$4:$D$4)
 3 作業B      =sumproduct((シート2!$A$2:$D$2=A3)*シート2!$A$4:$D$4)

 シート2
    A    B   C    D
 2 作業A      作業B    ←項目名はセルA2:B2、C2:D2でそれぞれ結合
 3 実績  目標  実績  目標
 4 100   80   120   110

よろしくお願いします。

 WindowsXP, Excel2003


 B2セル=OFFSET(シート2!$A$4,,MATCH(A2,シート2!$A$2:$D$2,0))
 エラー処理はしていません。

 (川野鮎太郎)

 実績がその式でいいのであれば目標は
 =SUMPRODUCT((シート2!$A$2:$D$2=A2)*シート2!$B$4:$E$4)
 で。
 (独覚)

川野鮎太郎さん

 早速ありがとうございます。
 OFFSET関数とMATCH関数の組合せは思いつきませんでした。
 (Index関数か、Indirect関数かな、と試行錯誤してました)

独覚さん

 SUMPRODUCT関数で配列をずらすとできるなんて!
 目からウロコです。

お二方ともどうもありがとうございました。

(黒バラ)


 B2(目標):=SUMIF(Sheet2!$A$2:$D$2,A2,Sheet2!$B$4:$E$4)
 C2(実績):=SUMIF(Sheet2!$A$2:$D$2,A2,Sheet2!$A$4:$D$4)

 (よみびとしらず)


よみびとしらずさん

 SUMIF関数でもできるんですね。
 SUMPRODUCT関数同様、合計範囲をずらすという知識がありませんでしたが、
 どうやら難しく考えすぎていたようです。

 どうもありがとうございました。

(黒バラ)


 > B2(目標):=SUMIF(Sheet2!$A$2:$D$2,A2,Sheet2!$B$4:$E$4)
 > C2(実績):=SUMIF(Sheet2!$A$2:$D$2,A2,Sheet2!$A$4:$D$4)

 今さらですが、範囲を間違えてた。

 B2(目標):=SUMIF(Sheet2!$A$2:$C$2,A2,Sheet2!$B$4:$D$4)
 C2(実績):=SUMIF(Sheet2!$A$2:$C$2,A2,Sheet2!$A$4:$C$4)

 (よみびとしらず)

コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.