[[20180607150618]] 『offsetについて』(ふみふみ) ページの最後に飛ぶ

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

 

『offsetについて』(ふみふみ)

offset関数を使用して、データが記入された一覧表からとある日付のデータを参照する方法について

=OFFSET(シート名!A1,SUMPRODUCT(ROWシート名!$B$1:$B$34)*(シー
ト名!$B$1:$B$34=$C$4)),SUMPRODUCT(COLUMN(シート名!$B$1:$
B$34)*(シート名!$B$1:$B$34=$C$4)))

といった参照式を書き込んでおり、$C$4にあたる部分が日付を読取る位置になります。
$B$1:$B$34が日付(1日から31日)が記入されており、OFFSETにて同じ日付の位置を指定、
シートのA1などで横列の位置の指定を行っています。

現状では、例えば1日のデータを参照しようとすると位置がずれるため、困っています。

どなたが、式のなにが悪いのか教えていただけると幸いです。

< 使用 Excel:unknown、使用 OS:unknown >


 >$B$1:$B$34が日付

 1日から31日なのに34行あるのはなぜですか?ひょっとして見出しとか含んでますか?
(コナミ) 2018/06/07(木) 16:36

回答じゃなくて素朴な疑問なんですが、なんでSUMPRODUCT関数使ってるんですか?

私も数式苦手なので間違ってるかもですが、OFFSET関数って、簡単に言うと
=OFFSET(基準セル,基準セルから何行ずらすか,基準セルから何列ずらすか)
ですよね。

その上で

【何行ずらすか】※投稿時にROW関数の後ろの括弧を書き忘れたとして
SUMPRODUCT(ROW(シート名!$B$1:$B$34)*(シート名!$B$1:$B$34=$C$4))

【何列ずらすか】
SUMPRODUCT(COLUMN(シート名!$B$1:$B$34)*(シート名!$B$1:$B$34=$C$4))

ってなってますけど、単純にB1〜B34の中からC4の値と一致するもの探してるだけにみえるので、そうなると列は1列しかないから変わらないですし、検索範囲が1列or1行だけだったらMATCH関数が使えますよね。

すると、SUMPRODUCT関数使ってそんなに複雑にしなくても
=OFFSET(シート名!A1,MATCH($C$4,シート名!$B$1:$B$34,0),2)
で参照できませんか?

(もこな2) 2018/06/07(木) 16:41


コメント返信:

[ 一覧(最新更新順) ]


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