
エクセルのシート別のコピーについて教えていただけますでしょうか。
シート1のA列には、下記の通り、氏名、学校、住所、電話番号の順番に、並んでいるとします。
<シート1>
A1 山田太郎
A2 学校
A3 住所
A4 電話番号
A5 山田花子
A6 学校
A7 住所
A8 電話番号
A9 山田みどり
A10 学校
A11 住所
A12 電話番号
その情報をシート2の
A列に、氏名だけを下記の通り、入力していきたいのです。
<シート2>
A1 山田太郎
A2 山田花子
A3 山田みどり
シート別のコピーは、
例えば、シート2のA1に「=Sheet1!A1」
と入力すれば、「山田太郎」と出てくることは知っています。
ですが、シート1の『氏名』だけをシート2に抽出していきたい場合、
どのようにすればよろしいのでしょうか?
『4セルずつ下』の『氏名』をシート1からシート2へコピーしたいです。
どなたか方法を教えていただけますと、とてもありがたく助かる思いです。
どうぞよろしくお願いいたします!
No.2ベストアンサー
- 回答日時:
結論から言えば、今使っている方法を流用するならば、
=INDIRECT("Sheet1!A"&(ROW()-1)*7-6+3)
で出来ます。
が、関数や式の理解ということで、簡単に説明します。
まずはじめに、最初の形 ROW()*7-6 についてですが、
「ROW()」は、それを書きこんだセルの行数を取ってくる関数です。
つまり、
A1に書きこんだ場合は=1
A2に書きこんだ場合は=2
になります。
「*7-6」は、7行で1セットの、1行目を参照したいからですね。
結果「ROW()*7-6」は、
A1に書きこんだ場合は=1
A2に書きこんだ場合は=8
になります。
ここまでは、捕捉に書かれていることから把握されていると思います。
では、次にSheet1のA1でなく、A4から引っ張ってくるにはどうすればいいでしょう。
ROW()*7-6 の答えが4、11、18...になれば良いわけです。
不格好ですが、わかりやすく、末尾で3を足してしまいましょう。
ROW()*7-6+3
最後に、書きこんだSheet2側のセルがA2からであることを解決します。
ROW()で引く行数が、1から2、2から3になったことが問題なので、これもわかりやすく-1してしまいましょう。
(ROW()-1)*7-6+3
※掛け算の前に-1するので()で囲ってください
これで、名前は引っ張れるようになったと思います。
さて、B列に学校名、C列に住所...と、全部の項目を引っ張りたいのですよね。
現状、「*7-6」の箇所を、
2行目の学校名であれば「*7-5」にしてみてください。
7行1セットの、2番目をひっぱりたい(「(ROW()-1)*7-6」の答えが2になるようにしたい)ので、-6から-5にしました。
3行目の住所であれば「*7-4」にしてください。
こうやって、項目7まで作ります。
あとは、セット数分、下にコピーするだけです。
---------------------------------
しかし、なんというか、しちめんどくさい方法ではあると思います。
今後もSheet1にデータが追加されていくのか、ただ一度並べ替えてしまいたいだけなのかどうかなどによって、他に手っ取り早い方法があるようにも思います。
この作業が一回で済む(一旦並べ替えたあとは、Sheet2の形でデータを追加していく)のであれば、もっと楽で簡単な方法はあるでしょう。
質問の際は、その辺りの情報も併記すると良いと思います。
mp20palpunteさん
早々にご回答くださいまして、心から感謝いたしております!
>結論から言えば、今使っている方法を流用するならば、
>=INDIRECT("Sheet1!A"&(ROW()-1)*7-6+3)
>で出来ます。
なるほどなるほど!
>関数や式の理解ということで、簡単に説明します。
とてもわかりやすく解説してくださいまして、
本当に助かります!!!
本件は、仕事先でのデータのため、
今、手元にございません。
恐れ入りますが、明日、仕事先にて、
早速ぜひとも試行させていただきたいと考えております!
その結果は、また別途ご報告させていただきますが、
今から、ワクワクしております~(^^)♪
>しかし、なんというか、しちめんどくさい方法ではあると思います。
>今後もSheet1にデータが追加されていくのか、ただ一度並べ替えてしまいたいだけなのかどうかなどに>よって、他に手っ取り早い方法があるようにも思います。
>この作業が一回で済む(一旦並べ替えたあとは、Sheet2の形でデータを追加していく)のであれば、も
>っと楽で簡単な方法はあるでしょう。
>質問の際は、その辺りの情報も併記すると良いと思います。
承知いたしました。情報不足で恐れ入ります。
以下、補足いたします。
今回は、シート1には、600名ほどの情報があり、
(実際は、学校氏名住所などのデータではないのですが、、、)
その情報の一部をシート2へ反映させたい、というのが第一でした。
その際、シート1とは別のセルへ反映させるため、悩んでおりました。
併せて、この600名ほどの情報は、今後も3ヶ月ごとくらいの周期で更新していくため、
シート1だけの更新で、今後済むような形が、一番ベストと考えておりました。
まずは、教えていただいた数式を入れてやってみます!
ありがとうございます!
心からの感謝の気持ちを込めて、
お礼の返信とさせていただきます。
取り急ぎの御礼まで。
No.1
- 回答日時:
山田太郎
学校
住所
電話番号
と並んでいるなら
1行目
5行目
9行目
13行目
のセルをコピーするような関数式を書けばOK。
セルの行数を得る関数はROW関数です。
ROW関数に引数を入れなければ、その関数式が使われているセルの行番号が返ってきます。
それを使い算数的にコピーする行番号を作ればよい。
Sheet2のA1セルに次の関数式を入れて、下のセルへコピーしてみてください。
=ROW()*4-3
コピーしたい行番号が表示されると思います。
で、コピーの指定の仕方。
ここからはいろいろな方法があります。
OFFSET関数を使ったりINDIRECT関数を使ったりINDEX関数を使ったり
多種多様です。
一例としてINDIRECT関数を示してみます。
=INDIRECT(”Sheet1!A”&ROW()*4-3)
これをSheet2のA1セルに書き込んで、下のセルへコピーすればOK。
関数式の意味を理解でいないのでしたら、他の人の回答をまねてみましょう。
(理解できないということは解決ではありませんからね)
この回答への補足
Cupper-2さん
恐れ入りますが、
再度、お聞きしてもよろしいでしょうか。
実際のリストは、
シート1は、A4セルに該当値が入っており、
シート2は、A2セルにコピーし、
以降は、7セルごとにコピーしたいと考えています。
昨夜は、A1セル同士で行った場合、希望通りに表示されたのですが、
今回は、
=INDIRECT(”Sheet1!A”&ROW()*8-7)
と、入力しましたが、
#REF
と、出てしまいます。
ちなみに、
シート1 → シート2
A4. → A2
A5. → B2
A6. → D2
とし、以降は、
A12 → A4
A13 → B4
A14. → D4
としていきたいのです。
計算式を理解できておらず、
たいへん恐縮ですが、
再度、お手すきの際に、ご教示いただけますとたいへんありがたい思いです。
どうかよろしくお願いいたします。
Cupper-2さん
早速のご回答ありがとうございます!
ご教示いただいた通りに、数式を入力してみたところ、出来ました!!!!
実際は、ご指摘いただいているように、
「関数式の意味を理解できていない」
のが実状ではあります。
ですので、実際のところ、解決には至っていないのかもしれません。
実際のエクセルの表は、
1行目
8行目
15行目
22行目
29行目
・
・
・
のように、7行目ずつをコピーしたいと思っておりました。
そこで、ご教示いただいたように、
シート2のA1のセルに
=INDIRECT("Sheet1!A"&ROW()*7-6)
と書き込み、下のセルへコピーしました。
と、見事に、希望通りにシート2に表示されました!!!
とても助かりました。色々と試行錯誤してみても出来ず、
そして、これまでの類似質問を検索しても、
該当するものがなく、悩んでおりましたので、
おかげ様で、とってもスッキリしました!
本当にありがとうございますm(__)m
心からの感謝の気持ちを込めて、
お礼の返信とさせていただきます。
ありがとうございました!
今後、関数式を理解できるよう勉強していきたいと思います!
取り急ぎの御礼まで。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
このQ&Aを見た人がよく見るQ&A
人気Q&Aランキング
-
4
excelで勝手にテキストボックス...
-
5
エクセル、ワークシートの名前...
-
6
EXCELでコピーしたグラフのデー...
-
7
エクセルでセルの書式設定がで...
-
8
ワークシートの行が途中から表...
-
9
シート全体を他のブックのシー...
-
10
worksheetクラスのcopyメソッド...
-
11
Excelで保護のかかったシートの...
-
12
EXCELのマクロについて
-
13
【OpenOffice】 改ページプレビ...
-
14
エクセルで多数のシートをまと...
-
15
エクセルで選択した行以外を削...
-
16
Excelのシート間で数式のコピー...
-
17
【エクセル】表から条件に合っ...
-
18
コピー&ペーストすると、VLOOK...
-
19
シート保護したExcelへの画像貼...
-
20
セルに背景色がある行を別シー...
おすすめ情報
公式facebook
公式twitter