データの分析、グラフ作成、および通信のためのツールを備えた Microsoft 表計算ソフトウェアのファミリ。
例えば、下記のような表で良いのでしょうか?。
この表の場合、Sheet3 の数式は以下のように入力し、これを最大限必要と思われる行数分だけ下方向にコピーしています。
・セル A1
=IF(INDIRECT("Sheet1!A" & INT((ROW(Sheet2!A1)-1+COUNTA(Sheet2!A:A))/COUNTA(Sheet2!A:A)))="","",INDIRECT("Sheet1!A" & INT((ROW(Sheet2!A1)-1+COUNTA(Sheet2!A:A))/COUNTA(Sheet2!A:A))))
・セル B1
=IF(INDIRECT(ADDRESS(ROW(),COLUMN()-1))="","",INDIRECT("Sheet2!A" & MOD((ROW(Sheet2!A1)-1+COUNTA(Sheet2!A:A)),COUNTA(Sheet2!A:A))+1))
途中で自動的に改行されているかと思いますが、両方とも1行の数式(文字列)です。
Sheet1 や Sheet2 の行数が増減しても大丈夫なように考えてみたところ、かなり長い数式になってしまいました。
(動作確認は出来ていますが、まだまだ改良の余地があるかもしれません・・・。)
尚、Excel 2010 は持ち合わせていないため、Excel 2007 で動作確認しています。
ご参考になれば幸いです。
<追記>
数式について、計算を進めて少し考え方を変えると以下のようにも記述できました。
このほうが簡単ですね。失礼しました。
・セル A1
=IF(INDIRECT("Sheet1!A" & INT((ROW(Sheet2!A1)-1)/COUNTA(Sheet2!A:A))+1)="","",INDIRECT("Sheet1!A" & INT((ROW(Sheet2!A1)-1)/COUNTA(Sheet2!A:A))+1))
・セル B1
=IF(INDIRECT(ADDRESS(ROW(),COLUMN()-1))="","",INDIRECT("Sheet2!A" & MOD(ROW(Sheet2!A1)-1,COUNTA(Sheet2!A:A))+1))