
シート 2 の各行操作に応じてシート 1 の特定のセルの値が変更されるようなプログラムのように Excel を実行するにはどうすればよいですか。基本的に、セルが動的な値 (別のシートの行の計算の実行後に変更される「C」言語の一時レジスタのように動作) を持つことができるかどうかを知りたいのです。
混乱していますが、どなたか助けていただけないでしょうか。何かをモデル化しているのですが、先に進むにはこれがとても必要です。
シート 1 で作業しているとします。行 1 で作業しています。5 つの列を入力した後、結果をシート 2 の特定のセル (A1 とします) に送りたいとします。シート 2 の値は A1 の入力に応じて変化します。シート 2 は、値を再びシート 1 に送信します。ここで、行 2 で作業し、結果はシート 2 の同じセル A1 に送られます。ポイントは、これが閉ループであることです。そして、反復のたびに、特定のセルの値が反復の結果に応じて変化するようにしたいのです。
答え1
わかりました。あなたが単にデータをあるシートから別のシートに移動しようとしているだけだと思いますが、数式を装っています。つまり、あなたが探しているのはこれだと思います。
=Sheet2!A1
ただし、確信が持てないので、さらに詳しく定義してください。その回答に合わせてこの回答を編集します。
さて、出発点ができたので、実際にこの質問に答えることができます。ただし、これは複数のステップから成る問題だと感じています。
ここで、セル G1 は列 E の最後の値を提供します。このセルには、次の関数があります: OFFSET([StartCell],MATCH(MAX([Range])+1,[Range],1)-1,0)
詳しく見ていきましょう。
=OFFSET - 関数を開始し、セルからデータを返すようにします [StartCell] - この関数が参照する先頭のセル MATCH - セル範囲内で指定された項目を検索します MAX - 範囲内の最大の数値を検索します
そこで、範囲内で最大の数字を検索し、それに 1 を加えてデータ セットにない数字を作成し、その数字を一致関数で使用します。一致関数は見つかったデータの最後の行を返します。その後、オフセットして必要なデータを表示します。
あなたの状況では、挿入されたデータの後の列にデータに対して実行したい操作を反映させ、その列でこの関数を使用して、必要なデータを 1 つのセルに収めることをお勧めします。
こんな感じ
ここでのセル H1 は、この本の他のどのシートにあっても、意図したとおりに機能します。
=OFFSET(Sheet1!F1,MATCH(MAX(Sheet1!F:F)+1,Sheet1!F:F,1)-1,0)
入力されたデータの後に関数を配置できない場合でも、これを行うことはできますが、非常に長い数式になります。
注: 最後のケースでは、範囲に F:F が使用されています。これは、F の列全体を定義するためであり、データが事前定義された領域を超えた場合に関数のパラメーターを再定義する必要はありません。
助けが必要な場合はお尋ねください