0

first_date と second_date という 2 つの営業日の日付があります。

稼働日が減少するデータテーブルがあります。

2 番目の日付値 1

2 番目の日付 - 1 値 2

2 番目の日付 - 2 値 3

…………

firstdate 値 n

firstdate -1 値 n + 1

... ... ...

(データ テーブルは最初の日付で停止しません)。

営業日のみ、最初の日付と2番目の日付の間のすべての値をプロットしたい。

マクロでいくつかの方法を見つけましたが、自動化したいです。

=NETWORKDAYS(firstdate,seconddate) を使用して行数を計算するのは簡単ですが、この関数をシリーズ X/Y 値に入力することはできません。

='sheet1!$D$4:$D$33 のようなものがあります。

='Sheet1'!$D$4:$D$ & NETWORKDAYS(firstdate,seconddate) のようなものが欲しい

誰かがそれを入力する方法を知っていますか?

私は NETWORKDAYS(firstdate,seconddate) をセルに入れ、数式で cell.value を使用することを考えました。それはどのように機能しますか?

4

1 に答える 1

1

このOFFSET関数を使用して、動的な名前付き範囲を定義できます。この名前は、シリーズ式で使用できます。

私の例では、セル D1 と E1 にそれぞれ start_date と end_date があります (そうでない場合は、必要に応じて式を変更してください)。

ステップ 1 Name Manager を開き、「Workdays_Data」などの新しい名前を追加し、Refers To: ボックスに次の式を入力します。

=(OFFSET(Sheet1!$D$4,0,1,NETWORKDAYS(Sheet1!$D$1,Sheet1!$E$1),1))

名前管理ダイアログボックス

次に、Name Manager ダイアログを閉じます。

ステップ 2データ系列を選択し、数式バーで、値を参照する範囲を新しい名前 に置き換えますWorkdays_Data。変更が必要な部分が強調表示されます。

変更前の数式バーのスクリーンショット

変更後、数式バーは次のようになります。

名前付き範囲を使用するように変更した後の数式バー

これを行うと、終了日を変更するたびにグラフが更新されます。

名前の定義をさらに微調整することで、これを変更して、動的な開始日も考慮することができます。たとえば、名前式の「0」を一致関数に置き換えると、名前式は次のようになります。

=(OFFSET(Sheet8!$D$4,MATCH(Sheet8!$D$1,Sheet8!$D$4:$D$11,FALSE)-1,1,NETWORKDAYS(Sheet8!$D$1,Sheet8!$E$1),1))

次に、別の Name という名前を作成しWeekdays_XValues、それをチャートのカテゴリ ラベルに使用して、それらも更新されるようにすることができます。

=(OFFSET(Sheet8!$D$4,MATCH(Sheet8!$D$1,Sheet8!$D$4:$D$11,FALSE)-1,0,NETWORKDAYS(Sheet8!$D$1,Sheet8!$E$1),1))

最終結果は、次のように、選択した開始日と終了日に基づいて完全に動的なグラフになります。

値と XValue の動的な名前付き範囲を使用した Excel グラフ

于 2013-04-16T21:07:53.993 に答える