次の方法で共有

複数シートの表を組合せて新しい表を作成したい

Anonymous
2017-01-21T04:42:38+00:00

2つのシートがあります。1シート目の1行について、2シート目の全ての行を組み合わせた表を3シート目に作成したいと思いますが、

各シートを結合する項目はありません。VBAは使わず、関数等で操作する方法はありますでしょうか?

例えば、1シート目が5行、2シート目が10行あれば3シート目は50行となります。

バージョンはEXCEL2010です。

Microsoft 365 と Office | Excel | 家庭向け | Windows

ロックされた質問。 この質問は、Microsoft サポート コミュニティから移行されました。 役に立つかどうかに投票することはできますが、コメントの追加、質問への返信やフォローはできません。

0 件のコメント コメントはありません

5 件の回答

並べ替え方法: 最も役に立つ
  1. ひまじん 17,185 評価のポイント
    2017-01-21T15:56:52+00:00

    例えば、下記のような表で良いのでしょうか?。

    この表の場合、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))

    この回答は役に立ちましたか?

    1 人がこの回答が役に立ったと思いました。
    0 件のコメント コメントはありません
  2. Anonymous
    2017-01-22T13:03:50+00:00

    ご回答ありがとうございます。

    ご連絡遅れてすみません。いつも簡単なexcel関数しか使うことがなく、、

    ご回答の計算式を読み解くにも時間が掛かってしまいました。

    これが実現したかったことで、とても困っていたことです。

    このような考え方、自分ひとりだととても出来ませんでした。

    明日早速、仕事で使ってみたいと思います!

    また何かありましたら、どうぞよろしくお願いいたします。

    この回答は役に立ちましたか?

    0 件のコメント コメントはありません
  3. 削除済み

    この回答は当社の行動規範に違反したため削除されました。 アクションを実行する前にこの回答を手動で報告したか、自動検出機能により特定しました。 詳細については、当社の行動規範を参照してください。


    コメントはオフになっています。 詳細情報

  4. Anonymous
    2017-01-21T08:14:28+00:00

    ご回答ありがとうございました。グループ作業のこともしらなかったので知識が増えました。

    ただ、実現したいことは、、、

    1シートの1列目に上の行から順番に1、2、3と入っていて、2シートの1列目にA、B、Cと入ってきたら、

    3シートの「1列目、2列目」に自動的に上の行から「1、A」「1、B」「1、C」「2、A」「2、B」「2、C」「3、A」「3、B」「3、C」 

    という並びでセットされるように、関数等でできないかと考えています。

    どうぞよろしくお願いいたします。

    この回答は役に立ちましたか?

    0 件のコメント コメントはありません
  5. Anonymous
    2017-01-21T05:01:00+00:00

    タブをSHIFTkeyを押しながら”グループ作業”で編集してみたら如何ですか?

    (あなたが思っていることと違ってたら御免なさい。)

    この回答は役に立ちましたか?

    0 件のコメント コメントはありません