24

24枚のワークブックを作る予定です。シート名は、Jan、Jan item、Feb、Feb item などになります。

基本的には予算編成用で、シートという名前の月には概要情報があり、名前に「項目」が付いている月にはより詳細な情報があります。

ここで、「Jan」スプレッドシートに「Jan item」スプレッドシートのセルを参照するセルJ3が必要な場合は、次のようにします。

='Jan item'!J3

ただし、サマリー シート (1 月、2 月など) ごとにこのような数式を再入力する代わりに、次のようなものが必要です。

=(reference-to-this-sheet's-name + " item")!J3

そうすれば、数式を 1 月から 2 月にコピーでき、明示的Xxx itemに入力しなくても、正しいシートが自動的に表示されます。Feb item

私がこれを尋ねる理由は、各要約シートについて、対応する項目別シートのセルへのそのような参照が数十あるためです。

私が求めていることは実行可能ですか?

4

3 に答える 3

32

まだ間接を使用しています。A1 セルが、参照されるシート (Jan) の名前を含む変数であるとします。あなたが行く場合:

=INDIRECT(CONCATENATE("'",A1," Item'", "!J3"))

次に、'Jan Item'!J3 値を取得します。

于 2013-10-11T01:15:59.783 に答える
12

タブ名を計算するために VBA ルートに行きたくない場合を除き、Excel の数式は Mid 関数などに基づいてかなり見苦しくなります

むしろ、私がそれを行う方法は次のとおりです。

1)たとえば、シートに1つのセルを作成しReference_Sheet、そのセルに値「Jan Item」を入力します。

2) 次に、次のIndirectような関数を使用します。

=INDIRECT(Reference_Sheet&"!J3") 

3) 各月のシートで、その 1 つのReference_Sheetセルを変更するだけです。

これがあなたが探しているものを与えることを願っています!

于 2013-03-27T21:35:05.210 に答える
0

フェルナンドと同様の方法で毎月のページを作成した方法は次のとおりです。

  1. その月の各ページ番号を手書きで書き、その場所を ThisMonth と名付けました。これは、シートのコピーを作成する前にのみ実行できることに注意してください。Excel をコピーした後、同じ名前を使用することはできませんが、シートのコピーでは使用できます。このソリューションは、名前を付けなくても機能します。
  2. C12 の場所にその月の週数を追加しました。ネーミングもバッチリ。
  3. すべてのページで 5 週間を作成し、5 週間目に関数を作成しました

      =IF(C12=5,DATE(YEAR(B48),MONTH(B48),DAY(B48)+7),"")
    

    今月が 4 週間しかない場合、5 番目の週が空になります。C12 は週数を保持します。

  4. ...
  5. 毎年恒例のエクセルを作ったので、毎月1枚、計12枚ありました。この例では、シートの名前は「月」です。このソリューションは、すべてのスペースを「_」文字に変更する必要があることを除いて、ODS ファイル標準でも機能することに注意してください。
  6. 最初の "Month" シートの名前を "Month (1)" に変更したので、同じ命名規則に従っています。必要に応じて「Month1」と名前を付けることもできますが、「January」にはもう少し作業が必要です。
  7. シート #2 の開始日フィールドに次の関数を挿入します。

     =INDIRECT(CONCATENATE("'Month (",ThisMonth-1,")'!B15"))+INDIRECT(CONCATENATE("'Month (",ThisMonth-1,")'!C12"))*7
    

    つまり、前のシートに 4 週間または 5 週間を入力すると、日付が正しく計算され、正しい日付から続行されます。

于 2015-02-06T12:12:23.150 に答える