dポイントプレゼントキャンペーン実施中!

エクセル博士教えてください!

複数シートから値を引用する時の関数かオートフィルの方法を教えてください!

Sheet2 Sheet3 Sheet4 それぞれに
----------A-----------B------------C
1-------A1----------B1-----------C1 ・・・
2-------A2----------B2-----------C2 ・・・
3-------A3----------B3-----------C3 ・・・
の値がある場合、

転記先のSheet1に・・・

A1→C3で一つの表、次のD1→F3で一つの表、・・・

--------A---------------B---------------C-------------------D------------E---------------F
1--Sheet2! A1 Sheet3! A1 Sheet4! A1--------Sheet2! B1 Sheet3! B1 Sheet4! B1
2--Sheet2! A2 Sheet3! A2 Sheet4! A2--------Sheet2! B2 Sheet3! B2 Sheet4! B2
3--Sheet2! A3 Sheet3! A3 Sheet4! A3--------Sheet2! B3 Sheet3! B3 Sheet4! B3
... ...  ... ... ...  ...

という配列になるような賢いやり方があれば教えてください!!

A1→C3 の表を D1→F3 へオートフィルすると 

--------A---------------B---------------C-------------------D------------E---------------F
1--Sheet2! A1 Sheet3! A1 Sheet4! A1--------Sheet2! D1 Sheet3! D1 Sheet4! D1
2--Sheet2! A2 Sheet3! A2 Sheet4! A2--------Sheet2! D2 Sheet3! D2 Sheet4! D2
3--Sheet2! A3 Sheet3! A3 Sheet4! A3--------Sheet2! D3 Sheet3! D3 Sheet4! D3

と、右にドラッグした分だけ引用元の列数もずれてしまうので困っています。

実際の引用元データの列は200以上・Sheetも8以上扱う為、手入力だと作業が追い付かないのです。

説明不足な点が多いと思うのですが、解答できる方いたら教えてください!

A 回答 (2件)

参照するシートが3つなら、こういう方法もありかと。


 =INDIRECT(ADDRESS(ROW(),CEILING(COLUMN()/3,1),4,1,"Sheet"&MOD(COLUMN()+2,3)+2))
    • good
    • 0
この回答へのお礼

ありがとうこざいます!

お礼日時:2019/12/27 16:27

こんにちは



>いう配列になるような賢いやり方があれば教えてください!!
失礼ながら、元々の設定がおよそ賢いとは言えない方法になっているとしか思えません。
表計算に向かない方法で無理やり進めるなら、先に行けば行くほど面倒は増加することと推測されます。

とはいえ、ご質問の通りのレイアウトと仮定して良いのなら、A1セルに
=OFFSET(INDIRECT("Sheet"&(MOD(COLUMN(C1),3)+2)&"!A1"),ROW()-1,INT(COLUMN(C1)/3)-1)
の式を入れて、右方、下方にフィルコピーでいかがでしょうか?
    • good
    • 0
この回答へのお礼

助かりました

ご指摘ありがとうございます!
とあるcsvファイルの複合から制作しているので、苦戦しております…
関数活用させていただきます!

お礼日時:2019/12/24 15:21

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