システムメンテナンスのお知らせ

ExcelのSheet1に連続したデータが入っており、sheet2のA1セルへSheet1のB1セルのデータが入るように、sheet2のA1セルへ=sheet1!B1という式を入れ、sheet2のA8セルへA1セルへ入れた式をコピペすると=sheet1!B8となります。
sheet2のA8セルにはsheet1のB2のデータを入れたいのですが、どういった方法がありますでしょうか?
A8以降も8行ごとにsheet1のB列のデータを反映させたいです。
ご教示のほどよろしくお願いします。

例、sheet1のデータ
  B
1 AAA
2 BBB
3 CCC

sheet2のデータ
 A
1 AAA(=sheet1!B1)
.
.
.
8 BBB

gooドクター

A 回答 (4件)

SheetB!A1: =IF(MOD(ROW(A1),7)=1,OFFSET(Sheet1!B$1,(ROW(A1)-1)/7,)

,"")
    • good
    • 1
この回答へのお礼

mike_g様

ご教示いただきありがとうございます。
記載いただいた式をそのまま使用させていただきました。
おかげさまで解決できました。

お礼日時:2020/12/25 11:21

No1です。



ごめんなさい。
寝ぼけて、ご質問を勘違いしたようです。

No1の回答は無視してください。
    • good
    • 0

ご質問者さんは「8行ごとに」と表現しておられますが、A1とA8の行の差は7行です。


ご質問者のイメージは
①sheet2のA1,A8,A15,A22,A29・・・という風にsheet1の内容が表示されていく
②sheet2のA1,A8,A16,A24,A32・・・という風にsheet1の内容が表示されていく
③sheet2のA1,A9,A17,A25,A33・・・という風にsheet1の内容が表示されていく
のいずれでしょうか?
もし②だとしたら、A1は異質なものになります。何故なら行数が8の倍数ではないからです。
①なら「8行ごとに」ではなく、「7行ごとに」ではありませんか?
とりあえず、グループに異質のものがない①という前提で述べます。
sheet2のA1に以下の数式を記述します。

=IFERROR(INDIRECT("sheet1!$B"&INT((ROW()+7)/7)*(MOD(ROW(),7)=1)),"")

これをオートフィル等で下方向へコピーすればOKです。

仮に、本当に「「8行ごとに」だとすると③になります。
そのときは、sheet2のA1に以下の数式を記述します。

=IFERROR(INDIRECT("sheet1!$B"&INT((ROW()+8)/8)*(MOD(ROW(),8)=1)),"")
    • good
    • 1
この回答へのお礼

助かりました

goomania様

ご教示ありがとうございます。
おっしゃるとおり「7行ごとに」でした。
それぞれ詳細まで記載いただきありがとうございました。
大変勉強になりました。

お礼日時:2020/12/25 11:18

こんばんは



現状のままでコピペするなら、A1セルを選択した状態で「数式バー」(上部の数式の内容が表示されている窓)内の式をコピーし、A8セルへ同様にペーストすれば可能です。

セルのコピペでも式が変わらないようにしたければ、式自体を
 =sheet1!$B$1
のような「絶対参照」の式にしておけばよいです。
    • good
    • 1
この回答へのお礼

ありがとう

fujillin様

ご教示いただきありがとうございます。
勉強になりました。

お礼日時:2020/12/25 11:16

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています

gooドクター

このQ&Aを見た人がよく見るQ&A

このカテゴリの人気Q&Aランキング