3

基本的に多くのデータを含むこの Excel シートがあります。現在、この Excel シートは、データをインポートするマクロを介して動的に更新されています。そのため、データが変更される可能性があります。つまり、一部のセルにはデータが入力され、他のセルにはデータが入力されない可能性があります。

したがって、A2:A60 から M2:M60 までの各セルのシート 2 に、基本的に次のような数式があります。

=IF(Sheet1!E2<>0;Sheet1!A2;"")

つまり、現在の行のセル E2 が 0 の場合、新しいスプレッドシートにコピーされた値は何もありません。次の行も同様です。

=IF(Sheet1!E3<>0;Sheet1!A3;"")

これを 60 行目まで繰り返します。

ここで、範囲 A2:A60 を選択し、そのデータをグラフに挿入します。しかし問題は、グラフが値を持たないセルを追加することです。チャートの範囲を変更せずにチャートから除外したい。これは、チャートの選択で数式を使用して可能ですか? それとも、マクロを使用する必要がありますか?

編集: 現在、A2:A60 に基づいて作成すると、グラフは次のようになります。上記の式により、実際には A4:A17 のみが値を持ち、他の値は何も持たないことに注意してください。

不要な (null) 値を含むグラフ。

4

1 に答える 1

3

おそらく名前付き範囲を使用できます。

次のような名前を定義できます。

Name    Definition
Date    =OFFSET(Sheet1!$A$1,1,0,COUNTA($A:$A)-1)
Value   =OFFSET(Sheet1!$B$1,1,0,COUNTA($B:$B)-1)

そして、それらをチャートのソースとして使用します。

詳細については、MSWebサイトを参照してください。

[編集]他に2つの例があります。

[編集2]チャット内の作業の結果:

問題:セルにCOUNTA数式が含まれているため、数式がワークシートで機能しなかったため、が空COUNTAの場合でもこれらのセルがカウントされました。

解決策:式を使用しSUMPRODUCTて空の値をカウントしました

Name   Definition
Date   =OFFSET(Sheet1!$A$2,1,0,SUMPRODUCT(IF(Sheet1!A2:A60<>"",1,0)),1))
Value  =OFFSET(Sheet1!$B$2,1,0,SUMPRODUCT(IF(Sheet1!B2:B60<>"",1,0)),1))

よろしく、

マックス

于 2011-07-06T06:40:55.890 に答える