![Excel: 異なる列からデータを取得して異なるシートに挿入する方法](https://rvso.com/image/1672303/Excel%3A%20%E7%95%B0%E3%81%AA%E3%82%8B%E5%88%97%E3%81%8B%E3%82%89%E3%83%87%E3%83%BC%E3%82%BF%E3%82%92%E5%8F%96%E5%BE%97%E3%81%97%E3%81%A6%E7%95%B0%E3%81%AA%E3%82%8B%E3%82%B7%E3%83%BC%E3%83%88%E3%81%AB%E6%8C%BF%E5%85%A5%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95.png)
助けが必要です。8 列に整理されたデータを含む参照シートがあります。8 つのシートを作成する必要がありますが、各シートには 1 つの列のみを含める必要があります。列 A の最初のシートには参照シートの最初の列のデータが含まれ、列 A の 2 番目のシートには参照シートの 2 番目の列のデータが含まれます。手動で変更するのではなく、数式に挿入する参照を動的に作成するにはどうすればよいですか。
答え1
作成した 8 つの新しいシートの後に参照シートを置き、次の式を使用します。
=INDEX('参照'!A:H,,SHEET())
各シートのセル A1 に入力すると、必要な処理が実行されます。これを使用すると、すべての空白セルに 0 が表示されるので、上記に IF 関数を追加できます。
=IF(INDEX('reference'!A:H,,SHEET())=0,"",INDEX('reference'!A:H,,SHEET()))
これが機能しない場合は、セル A1 でこの数式を使用し、必要なだけ下にドラッグします。
=INDEX('reference'!A:H,ROW(),SHEET())または
=IF(INDEX('reference'!A:H,ROW(),SHEET())=0,"",INDEX('reference'!A:H,ROW(),SHEET()))
この数式はシート参照を使用するため、シートの順序を変更するとデータも変更されます。そのため、この問題を回避するには値をコピーして貼り付ける必要があります。そうする必要があるため、列全体を選択して手動でコピーする方が簡単でしょう。