こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

解決済みの質問

エクセルで別のシートのデータを19行おきに参照表示したい。

エクセルで別のシートのデータを19行おきに参照表示したい。
Sheet1のB3,B22,B41の値を、Sheet2のB4~B5(セルが結合されています)、B6~B7、B8~B9に表示させたいです。
Sheet2のそれ以降はオートフィルドラッグで式がコピーできるようにしたいのですが
セルの連結の為  =OFFSET(sheet1!B$3,(ROW(B1)-1)*19,0) だと
B6~B7には、B22の値でなく、B41の値が入ってしまいます。

どなたか教えてください。宜しくお願い致します。

投稿日時 - 2010-06-01 14:56:28

QNo.5937243

すぐに回答ほしいです

質問者が選んだベストアンサー

最も簡単な対応はSheet2のB4~B5に「'=Sheet1!B3」、B6~B7「'=Sheet1!B22」と式の前にアポストロフィーを付け、その2つのセルをオートフィルコピーし、そのまま「データ」「区切り位置」で「完了」します。

数式で対応するなら以下のようになります。

=OFFSET(sheet1!B$3,(ROW(B1)-1)/2*19,0)

投稿日時 - 2010-06-01 15:15:27

補足

MackyNo1さん ありがとうございました。
質問なのですが、,(ROW(B1)-1)/2*19,0) の式で 「/2」とありますが
この意味を教えてください。
宜しくお願い致します。

投稿日時 - 2010-06-01 15:57:07

お礼

MackyNo1さん ありがとうございました。
質問なのですが、,(ROW(B1)-1)/2*19,0) の式で 「/2」とありますが
この意味を教えてください。
宜しくお願い致します。

投稿日時 - 2010-06-01 16:48:03

このQ&Aは役に立ちましたか?

6人が「このQ&Aが役に立った」と投票しています

回答(4)

ANo.4

>、,(ROW(B1)-1)/2*19,0) の式で 「/2」とありますが
>この意味を教えてください。

元の数式はセルが結合されているため1つ下のセルは実際は2つ下のるとなりますので、「ROW(B1)」の部分は「ROW(B3)」(=3のこと)になります。
同様にその下のセルは「ROW(B5)」となり、元の数式のようにそれぞれ1を引くと、上から順に0,2,4・・・となります。この部分が、それぞれ0,1,2となるように2で割り算したわけです。

投稿日時 - 2010-06-01 16:28:26

お礼

なるほど!良く分かりました。
すばやい回答と、ご説明をありがとうございました。

投稿日時 - 2010-06-01 17:03:26

ANo.3

訂正します。シート2のB4セルには次の式を入力して下方にオートフィルドラッグしてください。

=IF(MOD(ROW(A1),2)=0,"",IF(INDEX(Sheet1!B$3:B$1000,ROUNDUP(ROW(A1)/2,0)*19-18)=0,"",INDEX(Sheet1!B$3:B$1000,ROUNDUP(ROW(A1)/2,0)*19-18)))

投稿日時 - 2010-06-01 15:29:38

お礼

ちょっと難しい式ですが、出来ることを確認しました!
すごいです。
ありがとうございました。

投稿日時 - 2010-06-01 15:59:39

ANo.2

シート2のB4セルには次の式を入力して下方にオートフィルドラッグします。

=IF(MOD(ROW(A1),2)=0,"",IF(INDEX(Sheet1!B$3:B$1000,ROUNDUP(ROW(A1)/2,0)*19-16)=0,"",INDEX(Sheet1!B$3:B$1000,ROUNDUP(ROW(A1)/2,0)*19-16)))

投稿日時 - 2010-06-01 15:24:26

あなたにオススメの質問