
Excel 2010 を使用しています。13 のワークシートを含むワークブックがあるとします。最初のワークシートの名前は「概要」で、残りの 12 は 1 年の月 (1 月 - 12 月) です。「概要」では、ユーザーに月を選択するよう求めます。次に、' =DATE(YEAR(E1),MONTH(E1)+1,1)
' を使用して次の月に進みます。これは合計 2 回実行されるため、ユーザーが入力する06/01/2016
と、6 月、7 月、8 月が表示されます。次に、名前の付いた 3 つの各月から数値を取得し、「概要」ワークシートで合計します。発生している問題は、数式の使用と、月のセルがテキストではなく日付 (実際はカスタム日付) としてフォーマットされているという事実に関係していますINDIRECT()
。
セルのデータがテキストでない場合、数式で 6 月、7 月、8 月のワークシートを参照するにはどうすればよいでしょうか。たとえば=B1!H3
、 にアクセスしようとしている場合などです=July!H3
。これで理解できると思います。理解できない場合は、お知らせください。解決できるよう努めます。ありがとうございます。
答え1
解決策は1つあります。
ユーザーが に日付を入力するとしますE1
。
F1
含む=DATE(YEAR(E1),MONTH(E1)+1,1)
G1
含む=DATE(YEAR(F1),MONTH(F1)+1,1)
H1
含む=DATE(YEAR(G1),MONTH(G1)+1,1)
(次の部分では月の名前を短くしました)
このCHOOSE
関数を使用すると、選択肢のリストを提供できます。最初の引数で指定された番号に基づいて、そのうちの 1 つが選択されます。例として、名前付きワークシートの 1 つから の値を取得するとしますA1
。
F2
含む=CHOOSE(MONTH(F1), Jan!$A$1, Feb!$A$1, Mar!$A$1, Apr!$A$1, May!$A$1, Jun!$A$1, Jul!$A$1, Aug!$A$1, Sep!$A$1, Oct!$A$1, Nov!$A$1, Dec!$A$1)
G2
含む=CHOOSE(MONTH(G1), Jan!$A$1, Feb!$A$1, Mar!$A$1, Apr!$A$1, May!$A$1, Jun!$A$1, Jul!$A$1, Aug!$A$1, Sep!$A$1, Oct!$A$1, Nov!$A$1, Dec!$A$1)
H2
含む=CHOOSE(MONTH(H1), Jan!$A$1, Feb!$A$1, Mar!$A$1, Apr!$A$1, May!$A$1, Jun!$A$1, Jul!$A$1, Aug!$A$1, Sep!$A$1, Oct!$A$1, Nov!$A$1, Dec!$A$1)
合計を知りたい場合は、I2
次のようにします。
=SUM(F2:H2)
または、各月の数値を表示したくない場合は、1 つの巨大な関数を記述することもできます。
=SUM(CHOOSE(MONTH(F1), Jan!$A$1, Feb!$A$1, Mar!$A$1, Apr!$A$1, May!$A$1, Jun!$A$1, Jul!$A$1, Aug!$A$1, Sep!$A$1, Oct!$A$1, Nov!$A$1, Dec!$A$1), CHOOSE(MONTH(G1), Jan!$A$1, Feb!$A$1, Mar!$A$1, Apr!$A$1, May!$A$1, Jun!$A$1, Jul!$A$1, Aug!$A$1, Sep!$A$1, Oct!$A$1, Nov!$A$1, Dec!$A$1), CHOOSE(MONTH(H1), Jan!$A$1, Feb!$A$1, Mar!$A$1, Apr!$A$1, May!$A$1, Jun!$A$1, Jul!$A$1, Aug!$A$1, Sep!$A$1, Oct!$A$1, Nov!$A$1, Dec!$A$1))
(絶対参照はオプション)