[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『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
私も数式苦手なので間違ってるかもですが、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.